我想在我的Web配置文件中存储一个简单的键/值字符串字典.Visual Studio使得存储字符串集合变得容易(参见下面的示例),但我不确定如何使用字典集合来完成它.
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<string>value1</string>
<string>value2</string>
<string>value2</string>
</ArrayOfString>
Run Code Online (Sandbox Code Playgroud) 我正在使用.NET Framework 4.5.1和C#开发ASP.NET MVC 5应用程序.
我Windows authentication用来允许一些用户访问我的控制器.这是我的web.config档案:
<system.web>
<compilation debug="true" targetFramework="4.5.1" />
<httpRuntime targetFramework="4.5.1" />
<authentication mode="Windows" />
<authorization>
<deny users="?" />
</authorization>
<roleManager enabled="true" defaultProvider="WindowsProvider">
<providers>
<clear />
<add name="WindowsProvider" type="System.Web.Security.WindowsTokenRoleProvider" />
</providers>
</roleManager>
</system.web>
Run Code Online (Sandbox Code Playgroud)
这是我的Authorize属性:
[Authorize(Roles = @"MyDomain\MyUploadRole")]
public class UploadController : Controller
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
我想添加字符串@"MyDomain\MyUploadRole",web.config但我不知道该怎么做.
我测试了这个SO答案,但它对我不起作用.我已将此部分添加到web.config文件中:
<roles>
<add key="Role1" value="MyDomain\MyUploadRole" />
<add key="Role2" value="MyDomain\Another role" />
</roles>
Run Code Online (Sandbox Code Playgroud)
然后,我在控制器上改变它:
[Authorize(Roles = @"Role1")] …Run Code Online (Sandbox Code Playgroud)