ओविन प्रमाणीकरण के लिए नया और अपने स्वयं के ओविन दावे प्रकार बनाने के लिए इसे कठिन बनाना।कस्टम दावा प्रकार जोड़ें
बात करता है। मुझे "GroupID" जैसे कस्टम दावों को जोड़ने की ज़रूरत है ताकि मैं इसे विभिन्न पृष्ठों पर आसानी से एक्सेस कर सकूं।
मैं अपने लॉग इन
public ActionResult Login(LoginViewModel model, string returnUrl)
{
UserViewModel userModel = new UserViewModel();
if (!ModelState.IsValid)
{
return View(model);
}
if(CommonHelper.ValidateADUser(model.Username,model.Password))
{
UserViewModel curUser = userModel.GetUserDetails(model.Username);
if (curUser != null)
{
var claims = new List<Claim>();
claims.Add(new Claim(ClaimTypes.WindowsAccountName, curUser.Username));
claims.Add(new Claim(ClaimTypes.Name,curUser.Fullname));
claims.Add(new Claim(ClaimTypes.Role, ""));
claims.Add(new Claim("GroupID", curUser.UserGroupID.ToString()));
var id = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie);
var ctx = Request.GetOwinContext();
AuthenticationManager.SignIn(id);
return RedirectToAction("Index", "Home");
}
}
else
{
ModelState.AddModelError("", "Invalid login attempt.");
}
return View(model);
}
में कुछ इस तरह किया अपना लॉगिन में आंशिक मैं इस
public ActionResult _LoginPartial()
{
var identity = (ClaimsIdentity)User.Identity;
TempData["curUserFullName"] = identity.FindFirst(ClaimTypes.Name).Value;
string s= identity.FindFirst("GroupID").Value;
return PartialView();
}
करके मूल्य प्राप्त करने मैं उपयोगकर्ता नाम और कोई समस्या नहीं के साथ पूरा नाम प्राप्त कर सकते हैं की कोशिश की लेकिन समूह आईडी एक ऑब्जेक्ट शून्य त्रुटि का कारण बनता है।
किसी को उम्मीद है कि कोई मुझे सही उत्तर में घुमा सकता है।
क्या आप देख सकते हैं कि नया दावा UserClaims DB तालिका में जोड़ा गया है या नहीं? – Jay
उपयोगकर्ता दावा डीबी टेबल कहां है? – TheProvost
आपके ऐप पर निर्भर करता है, आमतौर पर आपके एप्लिकेशन डीबी में एएसपीनेट यूज़र क्लाइम्स जैसे कुछ। – Jay