Quantcast
Channel: Security
Viewing all articles
Browse latest Browse all 4737

How to set roles or permission during claims auth in asp.net mvc5

$
0
0

before i use form authentication in asp.net mvc4. now i like to use claim auth with asp.net mvc5. i like to know how people set roles when they use claim with identity in asp.net mvc5?

before how i set roles after login this way.

[HttpPost]
public ActionResult Login(User model, string returnUrl)
{
    if (ModelState.IsValid)
    {
        using (userDbEntities entities = new userDbEntities())
        {
            string username = model.username;
            string password = model.password;

            bool userValid = entities.Users.Any(user => user.username == username && user.password == password);

            if (userValid)
            {

                FormsAuthentication.SetAuthCookie(username, false);
                if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/")&& !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
                {
                    return Redirect(returnUrl);
                }
                else
                {
                    return RedirectToAction("Index", "Home");
                }
            }
            else
            {
                ModelState.AddModelError("", "The user name or password provided is incorrect.");
            }
        }
    }

    return View(model);
}

setting roles with custom auth

protectedvoidApplication_PostAuthenticateRequest(Object sender,EventArgs e){if(FormsAuthentication.CookiesSupported==true){if(Request.Cookies[FormsAuthentication.FormsCookieName]!=null){try{//let us take out the username now                string username =FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value).Name;string roles =string.Empty;using(userDbEntities entities =new userDbEntities()){User user = entities.Users.SingleOrDefault(u => u.username == username);

                    roles = user.Roles;}//let us extract the roles from our own custom cookie//Let us set the Pricipal with our user specific detailsHttpContext.Current.User=newSystem.Security.Principal.GenericPrincipal(newSystem.Security.Principal.GenericIdentity(username,"Forms"), roles.Split(';'));}catch(Exception){//somehting went wrong}}}}

a sample action which will be accessible if user is in admin role

[Authorize(Roles="admin")]publicActionResultAdminIndex(){ViewBag.Message="This can be viewed only by users in Admin role only";returnView();}

please tell me how people set permission when they work with identity and claims authorization with asp.net mvc 5?

it will be very helpful if anyone post a sample code which drive me to right direction.

code taken from http://www.codeproject.com/Articles/578374/AplusBeginner-27splusTutorialplusonplusCustomplusF

thanks


Viewing all articles
Browse latest Browse all 4737

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>