Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        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."));
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 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
     };
 }
Ejemplo n.º 5
0
        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;
            }
        }