应用程序设置多个值
本文关键字:设置 应用程序 | 更新日期: 2023-09-27 18:00:23
如果用户有权访问该工具,我必须在代码中进行检查,我使用此行来执行此操作:
var appSetting = ConfigurationManager.AppSettings[APPSETTINGS.SUPPORTUSERS].ToUpper();
if ((loggedUser.Login.ToUpper() != appSetting))
问题在web.config文件中,我有这个:
<add key="SupportUsers" value="sis8ca"/>
我试图在这个字符串中放入多个值,比如"sis8ca,dts8ca,lgu8ca",如果这个人有访问权限,她可以使用它,但我不能像这样传递多个值。还有其他方法吗?
在设置文件中使用类似的内容:
<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
}
最简单的解决方案是设置一个分隔符,并在上面使用string.Split
:
<add key="SupportUsers" value="sis8ca;dts8ca;lgu8ca"/>
var supportedUsers = ConfigurationManager.AppSettings["SupportUsers"]
.Split(';')
.ToList();
if (values.Contains(loggedUser.Login))
{
// Do stuff.
}
是的,您可以通过comma(,)
分隔符传递多个值,然后在调用该键值时使用split
例如
string val = ConfigurationManager.AppSettings[APPSETTINGS.SUPPORTUSERS].ToUpper();
string[] words = val.Split(',');
您将获得words
的列表
使用:
<add key="SupportUsers" value="sis8ca;dts8ca;lgu8ca"/>
检查它的逻辑:
var users = appSetting.Split(new[]{';'});
var hasAccess = users.Contains(loggedUser);
if (hasAccess){
...
}