/// <summary> /// Creates a new Azure user /// Redirects to specified Url /// </summary> /// <param name="username"></param> /// <param name="password"></param> /// <param name="returnUrl"></param> /// <returns></returns> public ActionResult AddUser(string username, string email, string password, string returnUrl) //TODO: Add Captcha Support { //do not use username - replace username with email address to cater for dumb users that do not know what a username is if (!User.Identity.IsAuthenticated) { var userByEmail = Membership.GetUser(email, false);//confirm that email does not exist //var userByUsername = Membership.GetUser(username, false);//confirm that username does not exist if (userByEmail == null) { AzureMembershipProvider membershipProvider = new AzureMembershipProvider(); MembershipCreateStatus createStatus; membershipProvider.CreateUser(email.Trim(), password.Trim(), email.Trim(), string.Empty, string.Empty, true, null, out createStatus); Roles.AddUserToRole(email, "RegisteredUser"); var createdUser = AzureMembershipProvider.GetAzureUser(email, true); Request.RequestContext.HttpContext.CreateAzureAuthTicket(createdUser);//login user return(Redirect(returnUrl)); } else {//user is allready signed up - redirect to login return(RedirectToAction("Login")); } } else {//user is allready logged in - redirect to product search return(RedirectToAction("Search", "Product")); } }
public ActionResult ChangePassword(string passwordold, string passwordnew, string message) { if (message == null) { ViewBag.Message = string.Empty; } else { ViewBag.Message = message; } if ((passwordold != null) && (passwordnew != null)) { var currentUser = AzureMembershipProvider.GetAzureUser(User.Identity.Name, true); if ((currentUser.Password == passwordold) && (passwordnew != null)) { currentUser.Password = passwordnew;//TODO: Validate new password new AzureUserRepository().Save(currentUser); return(RedirectToAction("ChangePasswordComplete")); } else { return(RedirectToAction("ChangePassword", new { message = "Invalid Password" })); } } else { return(MenuView("MY PROFILE", "SubMenuFindAProduct", "None")); } }
public ActionResult UpdateUser(string realname, string email, string returnurl) { var currentUser = AzureMembershipProvider.GetAzureUser(User.Identity.Name, true); AzureMembershipProvider.UpdateAzureUser(currentUser, realname, email); return(Redirect(returnurl)); }
public ActionResult Login(string username, string password, string message, string returnurl = "/") { var baseUrl = Settings.Default.BaseUrl; if (returnurl == "/") { ViewBag.ReturnUrl = Url.Encode(baseUrl); ViewBag.HrdFeed = Settings.Default.HrdFeed.Replace("%returnurl%", Url.Encode(baseUrl)).Replace("callback=?", "callback=ShowSigninPage").Replace("%context%", string.Empty);; } else { ViewBag.ReturnUrl = Url.Encode(returnurl); ViewBag.HrdFeed = Settings.Default.HrdFeed.Replace("%returnurl%", Url.Encode(baseUrl + returnurl)).Replace("callback=?", "callback=ShowSigninPage").Replace("%context%", string.Empty);;; } ViewBag.ReturnUrl = (ViewBag.ReturnUrl as string).Replace(@"//", @"/"); if (message == null) { ViewBag.Message = string.Empty; } else { ViewBag.Message = message; } if (username == null) { return(MenuView(string.Empty, "SubMenuFindAProduct", string.Empty)); } if (Membership.ValidateUser(username, password)) { Trace.TraceInformation("Login Attempt [Success]: " + username); var authUser = AzureMembershipProvider.GetAzureUser(username, true); Request.RequestContext.HttpContext.CreateAzureAuthTicket(authUser);//login user return(Redirect(returnurl)); } else { Trace.TraceInformation("Login Attempt [Fail]: " + username); return(RedirectToAction("Login", new { message = "Login Failure" })); //return MenuView(,string.Empty, "SubMenuFindAProduct", string.Empty); } }
/// <summary> /// Confirms that User.Identity is signed up and adds this user to the RegisteredUser Role /// Redirects to specified Url /// </summary> /// <param name="returnUrl"></param> /// <returns></returns> public ActionResult AddFederatedUser(string returnUrl)//TODO: Add Captcha Support { //AzureClaimsAuthenticationManager intercepts this request and creates the user so all we need to do here is confirm this and add the roles AzureMembershipProvider membershipProvider = new AzureMembershipProvider(); var user = membershipProvider.GetUser(User.Identity.Name, true); if (User != null) { Roles.AddUserToRole(user.UserName, "RegisteredUser"); return(Redirect(returnUrl)); } else { throw new Exception("Failed: User does not exist"); } }
/// <summary> /// Initializes a new instance of the <see cref="AzureMembershipProviderTests"/> class /// </summary> public AzureMembershipProviderTests() { this.userManager = new StubIUserManager(); this.azureMembershipProvider = new AzureMembershipProvider(this.userManager); }