×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: ASP
Posted by: Loren Richter
Added: Aug 28, 2013 4:09 PM
Views: 19
Tags: no tags
  1. using System.Security.Principal;
  2.  
  3.     public class BaseController : Controller
  4.     {
  5.         protected override void OnActionExecuting(ActionExecutingContext filterContext)
  6.         {
  7.             HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
  8.             if (authCookie != null)
  9.             {
  10.                 FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(authCookie.Value);
  11.                 HttpContext.User = new GenericPrincipal(new GenericIdentity (ticket.Name, "Forms"), null);
  12.             }
  13.  
  14.             base.OnActionExecuting(filterContext);
  15.         }
  16. ...
  17.  
  18.  
  19. public class AdminController : BaseController
  20.   bool saveResult = DAL.SaveMessage(campaign, HttpContext.User.Identity.Name);
  21.  
  22.  
  23. using System.DirectoryServices.AccountManagement;
  24. using System.Security.Principal;
  25.  
  26. namespace HH.Sony.TextMe.Web.Controllers
  27. {
  28.     public class AccountController : BaseController
  29.         [HttpPost]
  30.         public ActionResult LogOn(LogOnModel model, string returnUrl)
  31.         {
  32.             try
  33.             {
  34.                 if (ModelState.IsValid)
  35.                 {
  36.                     using (PrincipalContext pc = new PrincipalContext(ContextType.Machine))
  37.                     {
  38.                         bool success = pc.ValidateCredentials(model.UserName, model.Password);
  39.                         if (success)
  40.                         {
  41.                             // ensure url posting is coming from our site
  42.                             if (Url.IsLocalUrl(HttpContext.Request.UrlReferrer.AbsoluteUri))
  43.                             {
  44.                                 FormsAuthentication.SetAuthCookie(model.UserName, false);
  45.                                 return RedirectToAction("index", "admin");
  46.                             }
  47.                             else
  48.                             {
  49.                                 return RedirectToAction("LogOn", "Account");
  50.                             }
  51.                         }
  52.                         else
  53.                         {
  54.                             ModelState.AddModelError("invalidcreds", "The user name or password provided is incorrect.");
  55.                         }
  56.                     }
  57.                 }
  58.             }
  59.             catch (Exception ex)
  60.             {
  61.                 ExceptionPolicy.HandleException(ex, "Global Policy");
  62.             }
  63.  
  64.              return View();
  65.            
  66.         }
  67.  
  68.