دسته بندی ها
21:41 1400/02/30
مشکل در Redirect و ماندن در صفحه لاگین در Asp.net Core
سلام دوستان. بنده یک فرم لاگین دارم که بعد از لاگین کاربر باید به Area مخصوص به خودش Redirect بشه. هر کاربر یک Role هم داره که وقتی لاگین میکنه نقش کاربر هم مشخص هست.
دستوراتی که برای لاگین نوشتم :
public async Task<IActionResult> Login(LoginViewModel model)
{
if (ModelState.IsValid)
{
var result = await _signInManager.PasswordSignInAsync(model.UserName, model.Password, true, lockoutOnFailure: false);
if (result.Succeeded)
{
if (user.UserType == 1)
{
return Redirect("/AdminPanel/Admin/Index");
}
}
else
{
ModelState.AddModelError("Password", "اطلاعات ورود صحیح نیست");
return View(model);
}
}
return View(model);
}
در دستور بالا همونطوری که می بینید بعد از اینکه UserName و Password درست بود باید به مسیر مشخص شده ریدایرکت بشه. ولی در همون صفحه لاگین میمونه.
کنترلر AdminController
[Area("AdminPanel")]
[Authorize(Roles = "AdminArea")]
public class AdminController : Controller
{
public IActionResult Index()
{
return View();
}
}
در کلاس Startup
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseAuthentication();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
//AdminPanel
endpoints.MapAreaControllerRoute(
"AdminPanel",
"AdminPanel",
"AdminPanel/{controller=Admin}/{action=Index}/{id?}");
//TeacherPanel
//default
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Account}/{action=Login}/{id?}");
});
}
مشخصات سوال کننده :
کاربر : hamid_b
امتیاز کاربر : 510
رتبه کاربر : 4
به این سوال امتیاز بدهید
0
تعداد بازدید این سوال : 2134
پاسخ دهنده : saedbfd
22:15 1400/02/30
دستوراتی که نوشتید درسته. فقط کافیه در Startup.cs و در متد Configure جای دو میان افزار UseAuthentication و UseAuthorization رو عوض کنید.
//1
app.UseAuthentication();
//2
app.UseAuthorization();
ترتیب به کارگیری این دو میان افزار مهمه.
آخرین سوالات ثبت شده
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
سوالات مرتبط
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.
 
ورود