如果用户已经访问该工具,我必须检查代码,我使用这一行来执行此操作:
var appSetting = ConfigurationManager.AppSettings[APPSETTINGS.SUPPORTUSERS].ToUpper();
if ((loggedUser.Login.ToUpper() != appSetting))
问题出在web.config文件中我有这个:
<add key="SupportUsers" value="sis8ca"/>
我正在尝试在此字符串中添加多个值,例如“sis8ca,dts8ca,lgu8ca”,如果此人有访问权限,她可以使用它,但我无法传递多个这样的值,还有其他方式吗?< / p>
答案 0 :(得分:2)
最简单的解决方案是设置分隔符,并在其上使用string.Split
:
<add key="SupportUsers" value="sis8ca;dts8ca;lgu8ca"/>
var supportedUsers = ConfigurationManager.AppSettings["SupportUsers"]
.Split(';')
.ToList();
if (values.Contains(loggedUser.Login))
{
// Do stuff.
}
答案 1 :(得分:2)
在您的设置文件中使用以下内容:
<add key="SupportUsers" value="sis8ca,dts8ca,lgu8ca"/>
然后在您的代码中执行以下操作:
var appSetting = ConfigurationManager.AppSettings[APPSETTINGS.SUPPORTUSERS].ToUpper();
string[] supportUsers = appSetting.Split(',');
if (supportUsers.Contains(loggedUser.Login.ToUpper()))
{
// The rest of your code
}
答案 2 :(得分:1)
是的,您可以通过comma(,)
分隔符传递多个值,然后在调用该键值时使用split
例如。
string val = ConfigurationManager.AppSettings[APPSETTINGS.SUPPORTUSERS].ToUpper();
string[] words = val.Split(',');
您将获得words
答案 3 :(得分:1)
使用:
<add key="SupportUsers" value="sis8ca;dts8ca;lgu8ca"/>
检查它的逻辑:
var users = appSetting.Split(new[]{';'});
var hasAccess = users.Contains(loggedUser);
if (hasAccess){
...
}