微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net-mvc – 如何在Microsoft.AspNet.Mvc.Facebook.FacebookAuthorize中动态设置权限?

调节器

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)]

它给出了以下编译错误……

解决方法

不确定它是否有帮助,但这是我让用户添加其他权限的方式.

/// <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
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐