/// <summary> /// Virtual method.Can be overriden with the custom Authorization. /// </summary> /// <param name="deviceIdentifier"></param> /// <param name="user"></param> /// <param name="password"></param> /// <param name="filterContext"></param> /// <returns></returns> protected override bool OnAuthorizeUser(string deviceIdentifier, string user, string password, System.Web.Http.Controllers.HttpActionContext filterContext) { if (!base.OnAuthorizeUser(deviceIdentifier, user, password, filterContext)) { return(false); } SOFTTEK.SCMS.Entity.Security.User userCredentials = new SOFTTEK.SCMS.Entity.Security.User { DeviceIdentifier = deviceIdentifier, NetworkAccount = user, Password = password }; SOFTTEK.SCMS.Foundation.Business.BusinessContext ctx = new SOFTTEK.SCMS.Foundation.Business.BusinessContext { SecurityContext = new Foundation.Security.SecurityContext { DeviceID = userCredentials.DeviceIdentifier, ClientID = userCredentials.NetworkAccount, AuthorizationTicket = userCredentials.NetworkAccount, AppID = new System.Configuration.AppSettingsReader().GetValue("S_SRA_APP_idENTIFIER", typeof(string)).ToString() } }; SOFTTEK.SCMS.Business.Security.SecurityBO securityProvider = new Business.Security.SecurityBO(ctx); if (securityProvider.Authorize(userCredentials) != null) { return(true); } return(false); }
public SOFTTEK.SCMS.Entity.Security.Token Register(SOFTTEK.SCMS.Entity.Security.User user) { SOFTTEK.SCMS.Entity.Security.Token authorizationToken = null; return(context.Execute(() => { Entity.User decryptedUser = new Entity.User(user, SCMS.Foundation.Security.EncryptionStatus.EncryptionStatusDecrypted, symmetricCipherProvider); using (dataSource = new SRADataContext(context.SecurityContext)) { dataSource.ConnectionString = "SCMS"; dataSource.DefaultUser = new System.Configuration.AppSettingsReader().GetValue("S_APP_UID", typeof(string)).ToString(); dataSource.Initialize(); authorizationToken = dataSource.CreateUser(decryptedUser); } if (authorizationToken != null) { Business.Entity.Token encryptedToken = new Entity.Token(authorizationToken, SCMS.Foundation.Security.EncryptionStatus.EncryptionStatusEncrypted, symmetricCipherProvider); return encryptedToken; } return null; }, "Register an user for the provided user credentials, and retrieve the default authorization profile.")); }
public IHttpActionResult CreateUser([FromBody] SOFTTEK.SCMS.Entity.Security.User user) { IHttpActionResult result = Conflict(); SOFTTEK.SCMS.Foundation.Business.BusinessContext ctx = new SOFTTEK.SCMS.Foundation.Business.BusinessContext { SecurityContext = new Foundation.Security.SecurityContext { DeviceID = user.DeviceIdentifier, ClientID = user.NetworkAccount, AuthorizationTicket = user.NetworkAccount, AppID = new System.Configuration.AppSettingsReader().GetValue("S_SRA_APP_idENTIFIER", typeof(string)).ToString() } }; SOFTTEK.SCMS.Business.Security.SecurityBO secManagerBO = new Business.Security.SecurityBO(ctx); SOFTTEK.SCMS.Entity.Security.Token authorizationToken = null; authorizationToken = secManagerBO.Register(user); if (authorizationToken != null) { result = Json(authorizationToken); } return(result); }
public BasicAuthenticationIdentity(string networkAccount, string password, string deviceIdentifier) : base(networkAccount, "Basic") { DeviceIdentifier = deviceIdentifier; User = new SOFTTEK.SCMS.Entity.Security.User { DeviceIdentifier = deviceIdentifier, NetworkAccount = networkAccount, Password = password }; }
public User(SOFTTEK.SCMS.Entity.Security.User user, SOFTTEK.SCMS.Foundation.Security.EncryptionStatus encryptionStatus = SCMS.Foundation.Security.EncryptionStatus.EncryptionStatusNone, SOFTTEK.SCMS.Foundation.Security.SymmetricCipherProvider symmetricCipherProvider = null) { DeviceIdentifier = user.DeviceIdentifier; NetworkAccount = user.NetworkAccount; Password = user.Password; Identifier = user.Identifier; switch (encryptionStatus) { case SOFTTEK.SCMS.Foundation.Security.EncryptionStatus.EncryptionStatusEncrypted: Encrypt(symmetricCipherProvider); break; case SOFTTEK.SCMS.Foundation.Security.EncryptionStatus.EncryptionStatusDecrypted: Decrypt(symmetricCipherProvider); break; default: break; } }