คำถามติดแท็ก asp.net-identity

ระบบ ASP.NET Identity ได้รับการออกแบบมาเพื่อแทนที่ระบบ ASP.NET Membership และ Simple Membership ก่อนหน้านี้

10
ASP.NET Identity - HttpContext ไม่มีวิธีการขยายสำหรับ GetOwinContext
ฉันได้ดาวน์โหลดและรันตัวอย่าง ASP.NET Identity ได้สำเร็จจากที่นี่: https://github.com/rustd/AspnetIdentitySample ตอนนี้ฉันกำลังใช้กรอบงาน ASP.NET Identity ในโครงการของฉันและพบปัญหาซึ่งทำให้ฉันเป็นบ้าตลอดทั้งวัน ... GetOwinContext() ไม่มีอยู่เป็นวิธีการขยายในของฉัน HttpContext ฉันกำลังใช้เฟรมเวิร์กเอกลักษณ์ในไลบรารีคลาส ฉันได้ติดตั้งเฟรมเวิร์กเอกลักษณ์และทุกอย่าง (นอกเหนือจากนี้) ล่าสุดทำงานได้ดี ฉันได้ลองใช้รหัสเดียวกันกับตัวควบคุมโดยตรงและพบปัญหาเดียวกัน ฉันไม่มีข้อมูลอ้างอิงอย่างชัดเจนที่ใดที่หนึ่ง โค้ดบล็อกที่กำลังฆ่าฉันคือ: private IAuthenticationManager AuthenticationManager { get { return HttpContext.GetOwinContext().Authentication; } } ฉันได้เพิ่มการอ้างอิงถึงสิ่งต่อไปนี้ - ลองทั้งสองอย่างนี้ในไลบรารี่ของฉันและโดยตรงไปยังคอนโทรลเลอร์ไม่มีใครทำงานให้ฉัน ... using Microsoft.AspNet.Identity; using Microsoft.AspNet.Identity.EntityFramework; using Microsoft.Owin.Security; using Microsoft.Owin; using System.Web; ... นี่ทำให้ฉันติดกำแพง .... มีความคิดอะไรบ้าง UPDATE ฉันได้ตรวจสอบเวอร์ชั่นของ …

10
ASP.NET MVC 5 - ตัวตน วิธีรับ ApplicationUser ปัจจุบัน
ฉันมีนิติบุคคลบทความในโครงการของฉันที่มีคุณสมบัติชื่อApplicationUser Authorฉันจะรับวัตถุเต็มรูปแบบของการเข้าสู่ระบบในปัจจุบันได้ApplicationUserอย่างไร? ขณะที่การสร้างบทความใหม่ผมต้องตั้งค่าAuthorคุณสมบัติในการปัจจุบันArticleApplicationUser ในกลไกการเป็นสมาชิกแบบเก่ามันเป็นเรื่องง่าย แต่ในวิธีการแบบผู้ถือหุ้นแบบใหม่ฉันไม่รู้ว่าจะทำอย่างไร ฉันพยายามทำแบบนี้: เพิ่มการใช้คำสั่งสำหรับส่วนขยายข้อมูลประจำตัว: using Microsoft.AspNet.Identity; จากนั้นฉันพยายามรับผู้ใช้ปัจจุบัน: ApplicationUser currentUser = db.Users.FirstOrDefault(x => x.Id == User.Identity.GetUserId()); แต่ฉันได้รับข้อยกเว้นต่อไปนี้: LINQ ไปยังเอนทิตีไม่รู้จักเมธอด 'System.String GetUserId (System.Security.Principal.IIdentity)' และวิธีนี้ไม่สามารถแปลเป็นนิพจน์ร้านค้าได้ แหล่งที่มา = EntityFramework

7
ฉันจะเปลี่ยนชื่อตารางเมื่อใช้ ASP.NET Identity ได้อย่างไร
ฉันกำลังใช้รุ่นที่วางจำหน่าย (RTM ไม่ใช่ RC) ของ Visual Studio 2013 (ดาวน์โหลดจาก MSDN 2013-10-18) ดังนั้น AspNet.Identity รุ่นล่าสุด (RTM) เมื่อฉันสร้างโครงการเว็บใหม่ฉันเลือก "บัญชีผู้ใช้ส่วนบุคคล" สำหรับการตรวจสอบ สิ่งนี้สร้างตารางต่อไปนี้: AspNetRoles AspNetUserClaims AspNetUserLogins AspNetUserRoles AspNetUsers เมื่อฉันลงทะเบียนผู้ใช้ใหม่ (โดยใช้เทมเพลตเริ่มต้น) ตารางเหล่านี้ (รายการด้านบน) จะถูกสร้างขึ้นและตาราง AspNetUsers จะมีการบันทึกแทรกซึ่งประกอบด้วย: Id ชื่อผู้ใช้ PasswordHash SecurityStamp discriminator นอกจากนี้โดยการเพิ่มคุณสมบัติสาธารณะในคลาส "ApplicationUser" ฉันได้เพิ่มฟิลด์เพิ่มเติมลงในตาราง AspNetUsers เช่น "FirstName", "LastName", "PhoneNumber" เป็นต้น นี่คือคำถามของฉัน มีวิธีการเปลี่ยนชื่อของตารางข้างต้น (เมื่อพวกเขาถูกสร้างขึ้นครั้งแรก) หรือพวกเขาจะถูกตั้งชื่อด้วยAspNetคำนำหน้าตามที่ฉันระบุไว้ข้างต้นหรือไม่ หากชื่อตารางแตกต่างกันโปรดอธิบายวิธีการ …

4
ASP.NET DbContext Identity สับสน
แอป MVC 5 เริ่มต้นมาพร้อมกับรหัสชิ้นนี้ใน IdentityModels.cs - รหัสนี้สำหรับการดำเนินการ ASP.NET Identity ทั้งหมดสำหรับแม่แบบเริ่มต้น: public class ApplicationDbContext : IdentityDbContext<ApplicationUser> { public ApplicationDbContext() : base("DefaultConnection") { } } ถ้าฉันนั่งร้านตัวควบคุมใหม่โดยใช้มุมมองกับ Entity Framework และสร้าง "บริบทข้อมูลใหม่ ... " ในกล่องโต้ตอบฉันจะได้รับสิ่งนี้ที่สร้างขึ้นสำหรับฉัน: using System; using System.Collections.Generic; using System.Data.Entity; using System.Linq; using System.Web; namespace WebApplication1.Models { public class AllTheOtherStuffDbContext : DbContext { …

15
การเรียก webapi ที่ไม่ได้รับอนุญาตส่งคืนหน้าเข้าสู่ระบบแทน 401
ฉันจะกำหนดค่าโครงการ mvc / webapi ของฉันอย่างไรเพื่อให้วิธีการ webapi ที่เรียกจากมุมมองมีดโกนไม่ส่งคืนหน้าล็อกอินเมื่อไม่ได้รับอนุญาต มันเป็นแอปพลิเคชั่น MVC5 ซึ่งมีตัวควบคุม WebApi สำหรับการโทรผ่าน javascript ทั้งสองวิธีด้านล่าง [Route("api/home/LatestProblems")] [HttpGet()] public List<vmLatestProblems> LatestProblems() { // Something here } [Route("api/home/myLatestProblems")] [HttpGet()] [Authorize(Roles = "Member")] public List<vmLatestProblems> mylatestproblems() { // Something there } ถูกเรียกผ่านรหัสเชิงมุมดังต่อไปนี้: angular.module('appWorship').controller('latest', ['$scope', '$http', function ($scope,$http) { var urlBase = baseurl + '/api/home/LatestProblems'; …

15
วิธีรับ ID ผู้ใช้ที่ล็อกอินในปัจจุบันใน ASP.NET Core
ฉันเคยทำสิ่งนี้มาแล้วเมื่อใช้ MVC5 User.Identity.GetUserId()แต่ดูเหมือนจะไม่ทำงานที่นี่ User.Identityไม่ได้มีGetUserId()วิธีการ ฉันใช้ Microsoft.AspNet.Identity

3
IUserSecurityStampStore <TUser> ของ ASP.NET Identity คืออะไร
ดู ASP.NET Identity (การเป็นสมาชิกใหม่ใน ASP.NET) ฉันเจออินเทอร์เฟซนี้เมื่อใช้งานของตัวเองUserStore: //Microsoft.AspNet.Identity.Core.dll namespace Microsoft.AspNet.Identity { public interface IUserSecurityStampStore&lt;TUser&gt; : { // Methods Task&lt;string&gt; GetSecurityStampAsync(TUser user); Task SetSecurityStampAsync(TUser user, string stamp); } } IUserSecurityStampStoreถูกนำมาใช้โดยค่าเริ่มต้นEntityFramework.UserStore&lt;TUser&gt;ซึ่งเป็นหลักและได้รับการตั้งค่าTUser.SecurityStampคุณสมบัติ หลังจากการขุดเพิ่มเติมปรากฏว่า a SecurityStampคือสิ่งGuidที่สร้างขึ้นใหม่ที่ประเด็นสำคัญในUserManager(ตัวอย่างเช่นการเปลี่ยนรหัสผ่าน) ฉันไม่สามารถจริงๆถอดรหัสมากเกินนี้ตั้งแต่ผมตรวจสอบรหัสนี้ในการสะท้อนแสง ข้อมูลสัญลักษณ์และ async เกือบทั้งหมดได้รับการปรับให้เหมาะสม นอกจากนี้ Google ยังไม่ได้รับความช่วยเหลือมากนัก คำถามคือ: คืออะไรSecurityStampใน ASP.NET เอกลักษณ์และสิ่งที่มันใช้? ที่ไม่SecurityStampเล่นบทบาทใด ๆ เมื่อคุกกี้รับรองความถูกต้องจะถูกสร้างขึ้น? มีข้อ จำกัด ด้านความปลอดภัยหรือข้อควรระวังที่จำเป็นต้องดำเนินการหรือไม่? ตัวอย่างเช่นอย่าส่งค่านี้ต่อเนื่องให้กับลูกค้าหรือไม่ อัปเดต …

3
การอ้างสิทธิ์ใน ASP .NET Identity คืออะไร
ใครช่วยอธิบายหน่อยได้กลไกการเรียกร้องหมายถึงอะไรใน ASP.NET Identity Core ใหม่ ขณะที่ผมสามารถดูมีเป็นAspNetUserLoginsตารางซึ่งมีUserId, และLoginProviderProviderKey แต่ฉันยังคงไม่เข้าใจหรือค้นหาข้อมูลใด ๆ เมื่อมีการเพิ่มข้อมูลลงในAspNetUserClaimsตารางและสถานการณ์ใดที่ใช้ในตารางนี้

3
เพิ่ม ASP.NET MVC5 Identity Authentication ให้กับโครงการที่มีอยู่
ฉันได้เห็นหน้าเว็บที่คล้ายกันมากมายบนเว็บ แต่ส่วนใหญ่ใช้โครงการใหม่แทนที่จะเป็นเพจที่มีอยู่หรือไม่มีคุณสมบัติที่จำเป็น ดังนั้นฉันมีMVC 5โครงการที่มีอยู่และต้องการรวมASP.NET MVC5 Identity เข้าสู่ระบบยืนยันอีเมลและคุณสมบัติรีเซ็ตรหัสผ่าน นอกจากนี้ฉันยังต้องสร้างตารางที่จำเป็นทั้งหมดในฐานข้อมูลเช่นผู้ใช้บทบาทกลุ่ม ฯลฯ (ฉันใช้ EF Code First ในโครงการของฉัน) มีบทความหรือตัวอย่างที่สอดคล้องกับความต้องการเหล่านี้หรือไม่? ข้อเสนอแนะใด ๆ ที่จะได้รับการชื่นชม ขอบคุณล่วงหน้า...

4
รหัสผ่านเริ่มต้นของ ASP.NET Identity Hasher - ทำงานอย่างไรและปลอดภัยอย่างไร?
ฉันสงสัยว่ารหัสผ่าน Hasher ที่นำมาใช้เป็นค่าเริ่มต้นในUserManagerที่มาพร้อมกับ MVC 5 และ ASP.NET Identity Framework นั้นมีความปลอดภัยเพียงพอหรือไม่ และถ้าเป็นเช่นนั้นถ้าคุณสามารถอธิบายให้ฉันฟังว่ามันทำงานอย่างไร ส่วนต่อประสาน IPasswordHasher มีลักษณะเช่นนี้: public interface IPasswordHasher { string HashPassword(string password); PasswordVerificationResult VerifyHashedPassword(string hashedPassword, string providedPassword); } อย่างที่คุณเห็นมันไม่ใช้เกลือ แต่มีการกล่าวถึงในหัวข้อนี้: "การแฮ็กรหัสผ่าน Asp.net Identity " ซึ่งจะทำให้เกลือเค็มอยู่เบื้องหลัง ดังนั้นฉันสงสัยว่ามันจะทำอย่างไร และเกลือนี้มาจากไหน? ความกังวลของฉันคือเกลือนั้นคงที่ทำให้มันไม่ปลอดภัย

9
วิธีรับผู้ใช้ปัจจุบันและวิธีใช้คลาสผู้ใช้ใน MVC5
ฉันจะรับรหัสของผู้ใช้ที่เข้าสู่ระบบในปัจจุบันในMVC 5 ได้อย่างไร ฉันลองใช้คำแนะนำ StackOverflow แต่ดูเหมือนว่าไม่ใช่สำหรับ MVC 5 นอกจากนี้ MVC 5 แนวปฏิบัติที่ดีที่สุดในการมอบหมายสิ่งของให้กับผู้ใช้คืออะไร? (เช่นUserควรมีItems. ฉันควรเก็บผู้ใช้IdในItem? ฉันสามารถขยายUserชั้นเรียนที่มีList&lt;Item&gt;คุณสมบัตินำทาง? ฉันกำลังใช้ "บัญชีผู้ใช้ส่วนบุคคล" จากเทมเพลต MVC พยายามเหล่านี้: ฉันจะรับผู้ใช้ปัจจุบันในแอปพลิเคชัน MVC ได้อย่างไร วิธีรับผู้ใช้ปัจจุบันใน ASP.NET MVC รับรหัสผู้ใช้ - สิ่งนี้จะส่งผลต่อไปนี้: 'Membership.GetUser ()' เป็นโมฆะ

9
ASP.NET_SessionId + OWIN คุกกี้ไม่ส่งไปยังเบราว์เซอร์
ฉันมีปัญหาแปลก ๆ กับการใช้การตรวจสอบคุกกี้ของ Owin เมื่อฉันเริ่มการรับรองความถูกต้องเซิร์ฟเวอร์ IIS ของฉันทำงานได้อย่างสมบูรณ์แบบบน IE / Firefox และ Chrome ฉันเริ่มทำการทดสอบด้วย Authentication และเข้าสู่ระบบบนแพลตฟอร์มที่แตกต่างกันและฉันพบข้อผิดพลาดแปลก ๆ กรอบ / Owin เป็นระยะ ๆ ไม่ส่งคุกกี้ใด ๆ ไปยังเบราว์เซอร์ ฉันจะพิมพ์ชื่อผู้ใช้และรหัสผ่านที่ถูกต้องรหัสทำงาน แต่ไม่มีการส่งคุกกี้ไปยังเบราว์เซอร์เลย หากฉันรีสตาร์ทเซิร์ฟเวอร์มันจะเริ่มทำงานเมื่อถึงจุดหนึ่งฉันจะลองล็อกอินอีกครั้งและคุกกี้จะหยุดการส่งมอบอีกครั้ง การเหยียบรหัสไม่ทำอะไรเลยและไม่เกิดข้อผิดพลาด app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationMode = AuthenticationMode.Active, CookieHttpOnly = true, AuthenticationType = "ABC", LoginPath = new PathString("/Account/Login"), CookiePath = "/", CookieName = "ABC", …

5
หน้าเข้าสู่ระบบและลงทะเบียนในแอพนั่งร้าน AspNet Core อยู่ที่ไหน
ใน VS 2017 ฉันได้สร้าง ASP.NET Core Web Application ใหม่ ในหน้าที่สองของวิซาร์ดฉันเลือก Web Application และสำหรับการตรวจสอบสิทธิ์ฉันเลือก "บัญชีผู้ใช้ส่วนบุคคล" ตอนนี้ฉันกำลังพยายามค้นหาหน้าที่เกี่ยวข้องกับ / บัญชี / ลงทะเบียนและ / บัญชี / เข้าสู่ระบบ/ _Layout.cshtml นำเข้าสู่ _LoginPartial.cshtml เหมือนกับที่ทำใน MVC แบบคลาสสิก: &lt;div class="navbar-collapse collapse"&gt; &lt;ul class="nav navbar-nav"&gt; &lt;li&gt;&lt;a asp-page="/Index"&gt;Home&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a asp-page="/About"&gt;About&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a asp-page="/Contact"&gt;Contact&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;partial name="_LoginPartial" /&gt; &lt;/div&gt; หากผู้ใช้ไม่ได้ลงชื่อเข้าใช้ _LoginPartial จะมี&lt;a&gt;แท็กที่ชี้ไปที่หน้าเข้าสู่ระบบและหน้าลงทะเบียน: &lt;ul …

6
วิธีการขยายคุณสมบัติที่มีอยู่ของ User.Identity
ฉันใช้ MVC5 Identity 2.0 เพื่อให้ผู้ใช้ล็อกอินเข้าสู่เว็บไซต์ของฉันซึ่งรายละเอียดการตรวจสอบความถูกต้องจะถูกเก็บไว้ในฐานข้อมูล SQL Asp.net Identity ได้รับการปรับใช้ในรูปแบบมาตรฐานตามที่พบได้ในแบบฝึกหัดออนไลน์มากมาย คลาส ApplicationUser ใน IdentityModels ได้รับการขยายเพื่อรวมคุณสมบัติที่กำหนดเองบางอย่างเช่น OrganizationId จำนวนเต็ม แนวคิดคือผู้ใช้จำนวนมากสามารถสร้างและกำหนดให้กับองค์กรทั่วไปเพื่อวัตถุประสงค์ด้านความสัมพันธ์ของฐานข้อมูล public class ApplicationUser : IdentityUser { public async Task&lt;ClaimsIdentity&gt; GenerateUserIdentityAsync(UserManager&lt;ApplicationUser&gt; manager) { // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie); // Add custom user …

13
วิธีรับผู้ใช้ปัจจุบันในแกน asp.net
ฉันต้องการรับผู้ใช้ปัจจุบันเพื่อรับข้อมูลของผู้ใช้เช่นอีเมล แต่ฉันไม่สามารถทำได้ในแกน asp.net ฉันสับสนมากนี่คือรหัสของฉัน HttpContextเกือบจะเป็นโมฆะในตัวสร้างคอนโทรลเลอร์ การรับผู้ใช้ในแต่ละการกระทำนั้นไม่ดี ฉันต้องการรับข้อมูลของผู้ใช้ครั้งเดียวและตั้งค่าเป็นViewData; public DashboardController() { var user = HttpContext.User.GetUserId(); }

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.