5

コントローラ

public partial class HomeController
{
     private static String[] userPermissions;
     public HomeController()
     {
          var MyPermission = Convert.ToString(TempData["MyPermission"]);
          userPermissions = (MyPermission).Split(',');
     }

     [Microsoft.AspNet.Mvc.Facebook.FacebookAuthorize(userPermissions)]
     public virtual ActionResult MyActionMethod()
     {
         return View();
     }
}

過負荷

ここに画像の説明を入力

コンパイル エラー

上記のブロックには、次のコードがあります

[Microsoft.AspNet.Mvc.Facebook.FacebookAuthorize(userPermissions)]

以下のコンパイルエラーが発生しています...

ここに画像の説明を入力

4

2 に答える 2

1

役立つかどうかはわかりませんが、これがユーザーに追加の権限を追加させる方法です。

        /// <summary>
    /// Use this method when an action fails due to lack of priviligies. It will redirect user to facebook with provided permission request.
    /// Refactor to handle list of request.
    /// </summary>
    /// <param name="permission"></param>
    private static void AddAdditionalPermissions(string permission)
    {
        System.Diagnostics.Trace.TraceInformation(permission + " not authorized for user.");
        string facebook_urlAuthorize_base = "https://graph.facebook.com/oauth/authorize";
        string scope = permission; //see: https://developers.facebook.com/docs/authentication/permissions/ for extended permissions
        string urlAuthorize = facebook_urlAuthorize_base;
        urlAuthorize += "?client_id=" + AppId;
        urlAuthorize += "&redirect_uri=" + "https://mydomainnamehere.nu/";
        urlAuthorize += "&scope=" + scope;

        //redirect the users browser to Facebook to ask the user to authorize our Facebook application
        HttpContext.Current.Response.Redirect(urlAuthorize, true); //this cannot be done using WebRequest since facebook may need to show dialogs in the users browser
    }
于 2013-09-27T06:56:14.893 に答える
-1

(エラーメッセージがバックアップされるため)属性引数に動的に何かを割り当てることはできないと私は理解しています。

カスタム メンバーシップ プロバイダーを使用して、目標を達成するために適応できると思われることを行います。私は、システムのさまざまな部分へのユーザー アクセスを定義する役割/権限のセットアップが必要でした。ユーザーに個別の権限を割り当てる必要はありませんが、各役割が実行できることを非常にきめ細かく制御できます。これを達成するために、ここで(いくつかの変更を加えて)アプローチに従いました。

シナリオでオンザフライでこれを行う必要がある場合に私が取るアプローチは、の属性でRole使用する定数を定義し、次に、アクセス許可チェックを処理しているものは何でも、の配列を渡す (または検索させる) ことです。「役割」ごとに。このように、に割り当てる「役割」は一定です。FacebookAuthorizeActionMethodpermissionsAuthorizeAttribute

于 2013-09-26T19:29:48.760 に答える