public async Task <ActionResult> AnonymusRegister(UserForRegisterDto userForRegisterDto) { var cozen = HttpContext.Session.GetString("uuid"); if (userForRegisterDto.Email == null || userForRegisterDto.KullaniciAdi == null || userForRegisterDto.ad == null || userForRegisterDto.soyad == null) { ModelState.AddModelError("kullanicihata", "Lütfen Heryeri Doldurunuz"); return(RedirectToAction("Index", "Register")); } var hasKullaniciAdi = _context.Users.Where(u => u.KullaniciAdi == userForRegisterDto.KullaniciAdi); if (hasKullaniciAdi.Count() != 0) { ModelState.AddModelError("kullanicihata", "Kullanıcı Adı Bulunmaktadır"); return(RedirectToAction("Index", "Register")); } byte[] passwordSalt, passworHash; HashingHelper.CreatePasswordHash(userForRegisterDto.password, out passworHash, out passwordSalt); var user = new UserdbModel { KullaniciAdi = userForRegisterDto.KullaniciAdi, Email = userForRegisterDto.Email, Ad = userForRegisterDto.ad, Soyad = userForRegisterDto.soyad, SifreHash = passworHash, SifreSalt = passwordSalt, Status = true }; _context.Users.Add(user); _context.SaveChanges(); var current = _context.Users.Where(u => u.KullaniciAdi == userForRegisterDto.KullaniciAdi).FirstOrDefault(); UserOperationClaim userOperation = new UserOperationClaim { UserId = current.ID, OperationClaimId = 2 }; _context.UserOperationClaims.Add(userOperation); _context.SaveChanges(); var result = _context.Users.Where(u => u.KullaniciAdi == user.KullaniciAdi) as UserdbModel; HttpContext.Session.SetString("username", user.KullaniciAdi); _jwtHelper = new JwtHelper(Configuration); var claims = _efUser.GetClaims(user); var token = _jwtHelper.CreateToken(user, claims); HttpContext.Session.SetString("JWToken", token.Token); _context.CozulenTest.Where(c => c.cozen == cozen).FirstOrDefault().cozen = user.KullaniciAdi; _context.Istatistik.Where(c => c.cozen == cozen).FirstOrDefault().cozen = user.KullaniciAdi; _context.SaveChanges(); HttpContext.Session.Remove("uuid"); return(RedirectToAction("GetTest", "Test")); }
public IEnumerable <Claim> SetClaims(UserdbModel user, List <OperationClaim> operationClaims) { var claims = new List <Claim>(); claims.AddNameIdentifier(user.ID.ToString()); claims.AddEmail(user.Email); claims.AddName($"{user.Ad} {user.Soyad}"); claims.AddRoles(operationClaims.Select(c => c.Name).ToArray()); return(claims); }
public JwtSecurityToken CreateJwtSecurityToken(TokenOptions tokenOptions, UserdbModel user, SigningCredentials signingCredentials, List <OperationClaim> operationClaims) { var jwt = new JwtSecurityToken( issuer: tokenOptions.Issuer, audience: tokenOptions.Audience, expires: _accessTokenExpiration, notBefore: DateTime.Now, claims: SetClaims(user, operationClaims), signingCredentials: signingCredentials ); return(jwt); }
public AccessToken CreateToken(UserdbModel user, List <OperationClaim> operationClaims) { var securityKey = SecurityKeyHelper.CreateSecurityKey(_tokenOptions.SecurityKey); var signingCredentials = SigningCredentialsHelper.CreateSigningCredential(securityKey); var jwt = CreateJwtSecurityToken(_tokenOptions, user, signingCredentials, operationClaims); var jwtSecurityTokenHandler = new JwtSecurityTokenHandler(); var token = jwtSecurityTokenHandler.WriteToken(jwt); return(new AccessToken { Token = token, Expiration = _accessTokenExpiration }); }
public List <OperationClaim> GetClaims(UserdbModel user) { using (_context) { var result = from operationClaim in _context.OperationClaims join userOperationClaim in _context.UserOperationClaims on operationClaim.Id equals userOperationClaim.OperationClaimId where userOperationClaim.UserId == user.ID select new OperationClaim { Id = operationClaim.Id, Name = operationClaim.Name }; return(result.ToList()); } }
public IActionResult Index(UserdbModel userModel) { var currentUsername = HttpContext.Session.GetString("username"); userModel.KullaniciAdi = currentUsername; ViewData["username"] = currentUsername; if (userModel.Ad.IsNullOrEmpty() || userModel.Soyad.IsNullOrEmpty() || userModel.Email.IsNullOrEmpty()) { ModelState.AddModelError("bos", "Lütfen Boş Bırakmayınız"); return(View(userModel)); } _context.Entry(userModel).State = EntityState.Modified; _context.SaveChanges(); return(View(userModel)); }