コード例 #1
0
        public void GetProviderTest()
        {
            string path = Assembly.GetAssembly(typeof(IPrincipalProvider)).Location;
            ConfigurationFile configuration = new ConfigurationFile(path);
            Assert.IsNotNull(configuration, "获取配置文件出错");

            IPrincipalProvider iprovider = (IPrincipalProvider)((IList<IPrincipalProvider>)configuration.GetSection("principal-providers"))[0];
            Assert.IsInstanceOfType(iprovider, typeof(DBPrincipalProvider), "提供者不为DBPrincipalProvider类型");

            DBPrincipalProvider provider = (DBPrincipalProvider)iprovider;
            Assert.IsNotNull(provider.ConnectionString, "连接字符串未获取到");
            Assert.AreEqual(@"Data Source=.;Initial Catalog=CrystalwallTest;User ID=sa;Password=123456;", provider.ConnectionString.Trim(), "连接字符串不是期望的");

            Assert.IsNotNull(provider.Principaltable, "身份表未获取");
            Assert.AreEqual("principal", provider.Principaltable, "身份字符不是期望的");

            Assert.IsNotNull(provider.ConnProvider, "默认连接提供者为null");
            Assert.AreEqual("System.Data.SqlClient", provider.ConnProvider, "默认连接提供者不是默认的System.Data.SqlClient");

            Assert.IsNotNull(provider.Foreignpermission, "默认身份权限中间表权限外键为null");
            Assert.AreEqual("permission_id", provider.Foreignpermission, "默认身份权限中间表权限外键名不是默认的permission_id");

            Assert.IsNotNull(provider.Foreignuser, "默认身份权限中间表身份外键为null");
            Assert.AreEqual("principal_id", provider.Foreignuser, "默认身份权限中间表身份外键名不是默认的principal_id");

            Assert.IsNotNull(provider.Foreigntable, "默认身份权限中间表为null");
            Assert.AreEqual("principal_permission", provider.Foreigntable, "默认身份权限中间表名不是默认的principal_permission");

            Assert.IsNotNull(provider.Permissiontable, "权限表名未获取到");
            Assert.AreEqual("permission", provider.Permissiontable, "权限表名不是permission");

            Assert.IsNotNull(provider.UserIndentity, "默认身份表的标识列未获取到");
            Assert.AreEqual("pname", provider.UserIndentity, "默认身份表的标识列不是默认的pname");
        }
コード例 #2
0
 /// <summary>
 /// 使用普通配置文件初始化的方法,此方法只能在整个应用程序中被调用一次
 /// </summary>
 /// <param name="configPath">程序集路径</param>
 public static void Init(string configPath)
 {
     if (configFile != null)
         throw new ConfigurationException("", "系统已经初始化,不能再次进行初始化");
     configFile = new ConfigurationFile(configPath);
     InitProviderAndStorage();
 }
コード例 #3
0
 /// <summary>
 /// 使用web根配置文件初始化的方法,此方法只能被整个应用程序调用一次
 /// </summary>
 public static void InitWeb()
 {
     if (configFile != null)
         throw new ConfigurationException("", "系统已经初始化,不能再次进行初始化");
     configFile = new ConfigurationFile(WebConfigurationManager.OpenWebConfiguration(null));
     InitProviderAndStorage();
 }
コード例 #4
0
 /// <summary>
 /// 清除数据,用于测试目的
 /// </summary>
 public static void Clear()
 {
     Storage = null;
     PrincipalProviders.Clear();
     ClearCurrentToken();
     configFile = null;
 }