با سلام.
در کلاس CustomAuthorizeAttribute این متد را نوشتم:
protected override bool AuthorizeCore(HttpContextBase httpContext) { var isAuthorized = false; var username = httpContext.Session["Admin"]?.ToString(); if (username == null) return false; var roles = this.Roles.Split(';', ','); roles.ToList().ForEach(x => { if (System.Web.Security.Roles.IsUserInRole(username, x)) isAuthorized = true; }); return isAuthorized; }
این متد فقط روی session با نام admin کار می کند. می خواهم هر session ای که وارد شد این متد رویش کار کند.
لطفا راهنمایی کنید
با تشکر
با سلام
دوست عزیز با کد زیر می توانید به تمام Session ها دسترسی داشته باشید
foreach (string item in Session.Contents) { Session[item].ToString(); }
دوست عزیز منظورتون از هر Session چیه ؟
var username = httpContext.Session["Teacher"]?.ToString();
در کد بالا اگر session ای با نام Teacher وجود داشته باشد متغیر Username پر می شود.
می خوام نام session هر چه باشد این متغیر پر شود
دوست من برای دسترسی به یک Session خاص یا باید نام اون Session رو صدا بزنی یا ایندکسش رو
Session[0].ToString() Response.Write(Session["Teacher"].ToString());
اگر صورت مسئله کلی رو بگید که قصدتتون چیه شاید بتونم بیشتر کمکتون کنم
protected override bool AuthorizeCore(HttpContextBase httpContext) { var isAuthorized = false; var username = httpContext.Session["Admin"]?.ToString(); if (username == null) return false; var roles = this.Roles.Split(';', ','); roles.ToList().ForEach(x => { if (System.Web.Security.Roles.IsUserInRole(username, x)) isAuthorized = true; }); return isAuthorized; }
این متد برای سیستم authorized کار می کنه. در خط پنجم مقدار username در صورتی پر می شه که یک session با نام Admin وجود داشته باشد. اگر session با این نام وجود نداشته باشد متغیر username خالی می باشد و وارد سیستم authorized نمی شود.
امکان دارد session ای که وارد می شود نامش Teacher باشد یا نامش Student باشد. با Session با نامهای Teacher یا Student وارد سیستم authorized نمی شویم.
حال می خواهم Session ایجاد شده چه نامش Admin و چه Student و چه Teacher باشد وارد سیستم Authorized بشود.
امیدوارم توانسته باشم منظور را برسانم
با تشکر
دوست عزیز شما داخل سشن Admin یا Student یا Teacher نام کاربری را میریزید یا نام نقش کاربری را
دوست عزیز یک Session با نام UserName تعریف کنید و مقدار Admin یا Student یا Teacher رو داخل اون بریزید
بعد توی اون متد authorized با گذاشتن دستورات شرط تصمیم بگیرید
با سپاس و تشکر فراوان
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)