如何将动态变量传递到ASP.NET MVC中的授权属性类?

8

如何将动态变量传递给 asp.net mvc 中的授权属性类?

例如,我有如下代码片段,如何将像 userRoles 变量这样的变量传递给 Authorize 属性类?

private  string userRoles;
private string getuserRoles() 
{
     //Write your code to get userRoles
     userRoles = "admin";
     return "admin";
 }

[Authorize(Roles = object.getuserRoles())]
public ActionResult Admin()
{
       ViewBag.Message = "Your contact page.";

        return View();

}

我的代码出现了这个错误

错误 1 一个属性参数必须是常量表达式、typeof 表达式或属性参数类型的数组创建表达式 C:\Users\Nashat\Downloads\New folder (3)\MvcPWy\Controllers\HomeController.cs 39 28 MvcPWy

请问有人能帮我解决这个错误吗?

3个回答

2
    [Authorize(Roles = Roles.UserRoles)]
    public ActionResult Index()
    {
        return View();
    }

您需要为Roles传递一个常量变量,例如:
public static class Roles
{
    public const string UserRoles = "UserRoles";
}

1
简单的回答是:你做不到。请查看之前的回答以获取更多详细信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接