7

asp.net mvcのauthorize属性クラスに動的変数を渡す方法は?

たとえば、次のコードがあります。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

ですから、このエラーを解決するために誰か助けてください。

4

3 に答える 3

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

次のようなロールの定数変数を渡す必要があります。

public static class Roles
{
    public const string UserRoles = "UserRoles";
}
于 2015-12-15T17:45:26.267 に答える
1

簡単な答えは次のとおりです。それはできません。詳細については、この 前の回答をご覧ください。

于 2015-12-15T17:39:29.100 に答える