public ActionResult ClientLogin(string userName, string password, string clientName) { var user = UserManager.FindUser(userName, password); if (user != null) { using (var f = new FileManager(UserManager.Context)) { Client c = f.CreateClient(user.Id, clientName); return Json(new ClientLoginResult { Id = c.Id, Secret = c.Secret, UserId = c.UserId }); } } return Content("fail"); }
public User CreateUser(User template, string password) { byte[] saltBytes = new byte[16]; (new Random()).NextBytes(saltBytes); string salt = (new SoapBase64Binary(saltBytes)).ToString(); User newUser = new User { Name = template.Name, PasswordHash = ComputePasswordHash(salt, password), PasswordSalt = salt, FirstName = template.FirstName, LastName = template.LastName, QuotaLimit = template.QuotaLimit }; try { _context.Users.Add(newUser); _context.SaveChanges(); using (var fileManager = new FileManager(_context)) { // Create the user's root folder. fileManager.CreateUserRootFolder(newUser); // Create the user's default internal client. fileManager.CreateClient(newUser.Id, "Internal", FileManager.InternalClientTag); } } catch { return null; } return newUser; }