예제 #1
0
파일: Form1.cs 프로젝트: Moveofself/Test001
        private void button3_Click(object sender, EventArgs e)
        {
            string DefaultDomain = "pssl";
            string userName      = txtUser.Text;

            if (!userName.Contains("\\"))
            {
                userName = DefaultDomain + "\\" + userName;
            }
            string empty = string.Empty;
            string text  = ConfigurationManager.AppSettings["LDAPPath"];

            if (string.IsNullOrEmpty(text))
            {
                MessageBox.Show("Config: [LDAPPath] is null or empry.");
            }
            try
            {
                DirectoryEntry directoryEntry = new DirectoryEntry(text, userName, txtPWD.Text, AuthenticationTypes.None);
                directoryEntry.RefreshCache();

                FunctionalityCollection userFunction = SecurityHelper.GetUserFunction(userName, out empty);

                if (!string.IsNullOrEmpty(empty))
                {
                    MessageBox.Show(empty);
                    return;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
예제 #2
0
        public static FunctionalityCollection GetUserFunction(string userName, out string error)
        {
            //IL_0002: Unknown result type (might be due to invalid IL or missing references)
            //IL_0008: Expected O, but got Unknown
            //IL_006d: Unknown result type (might be due to invalid IL or missing references)
            //IL_0073: Expected O, but got Unknown
            FunctionalityCollection  result = null;
            SecurityManagementClient val    = (SecurityManagementClient)(object)new SecurityManagementClient();

            ((ClientBase <ISecurityManagement>)(object) val).ClientCredentials.Windows.ClientCredential.UserName = Authentication.UserName;
            ((ClientBase <ISecurityManagement>)(object) val).ClientCredentials.Windows.ClientCredential.Password = Authentication.Password;
            ((ClientBase <ISecurityManagement>)(object) val).ClientCredentials.Windows.ClientCredential.Domain   = Authentication.Domain;
            RoleCollection userRole = GetUserRole(userName, out error);

            if (userRole != null && ((List <Role>)(object) userRole).Count > 0)
            {
                GetDataGroupsAndFunctionalitiesForRolesInput val2 = (GetDataGroupsAndFunctionalitiesForRolesInput)(object)new GetDataGroupsAndFunctionalitiesForRolesInput();
                val2.Roles = userRole;
                GetDataGroupsAndFunctionalitiesForRolesOutput val3 = null;
                try
                {
                    val3   = val.GetDataGroupsAndFunctionalitiesForRoles(val2);
                    result = val3.FunctionalityCollection;
                    return(result);
                }
                catch (TimeoutException)
                {
                    error = "WariningMessage_ConnectServiceTimeOutError";
                    return(result);
                }
                catch (FaultException)
                {
                    error = "WariningMessage_ServiceNotEnabledError";
                    return(result);
                }
                catch (Exception ex3)
                {
                    error = ex3.Message;
                    return(result);
                }
            }
            return(result);
        }