سلام
یه فانکشن تووی یه کنترلر دیگه استفاده کردم.
تووی کنترلر جاری یه آبجکت از نوع همون کنترلری که فانکشن توشه ساختم.
خروجی اون فانکشن یه استرینگه.
ولی هر وقت صداش میزنم میره تووی catch اون فانکشن رو برمیگردونه.
در صورتی که مشکلی نداره فانکشن وقتی تووی کنترلر جاری استفادش میکنم.
سلام به روی ماهت
کلا این کار اشتباه هستش
اون فانکشن رو از کنترلر بکش بیرون و بذارش توی یه کلاس معمولی و از اون کلاس معمولی داخل کنترلر دومت یه شی بساز و باهاش کار کن.
درست شد مرسی.
یه سوال:
[Authorize(Users = "Betty, Johnny")]
تووی فانکشنی که تعریف کردم میره یوزر و پسورد رو چک میکنه و بعد یه مقدار بازگشتی 0 یا 1 برمیگردونه. این مدل بهتره یا متد بالا؟
یکی از برنامه نویسا یه پیشنهادی کرد برای کاتسوم کردن [Authorize] .
public class CustomAttribute:AuthorizeAttribute { public override void OnAuthorization(AuthorizationContext filterContext) { base.OnAuthorization(filterContext); IsUserAuthorized(filterContext); } private void IsUserAuthorized(AuthorizationContext filterContext) { if (!filterContext.HttpContext.Request.IsAuthenticated) { // کدها } if (filterContext.Result == null) return; } }
فقط نمیدونم چطوری کار میکنه و جای (کدها) بایستی چی بگذارم. و متد بالارو کجا باید اضافه کنم و بعد اسمش رو ببرم بالای اکشن مورد نیاز.
کدهای مربوط به دیتابس رو باست جای (کدها) بنویسم و مقداریرو برگشت بدم؟
با ado.net کار میکنم. میخوام به یوزرم دسترسی های لازم رو روی اکشن ها بدم.
سلام
اکشن فیلترها یکی از قابلیتهای مهم در asp mvc هستند و من ترجیج میدم فیلتر authorize رو شخصی سازی کنم.
توی همین متد OnAuthorize اگه filterContext.Result برابر بشه با مقدار زیر کاربر نمیتونه از اکشن مورد نظر استفاده کنه.
filterContext.Result = new HttpStatusCodeResult(HttpStatusCode.Unauthorized);
خب حالا تو از authorize header اون شناسهای رو که کاربر واست فرستاده میخونی و کوئری که میخوای رو میزنی و اگه دسترسی نداشت مفدار بالا رو تنظیم میکنی.
واسه اینکه کاربری با نقش خاص به اکشن مورد نظر دسترسی داشته باشه از خصوصیتی به نام Role که توی همین فیلتر موجود هست استفاده کن و کوئری مورد نیاز رو بزن و ادامه ماجرا...
اگه سوالی داشتی همینجا بپرس
موفق باشی
خب چطوری بگم فلان کاربر مجازه؟
فرض کن یه سشن داریم به نام username و مقدار david. این رو کجای این کد بگذارم. که سشن رو چک کنه و وقتی CustomAttribute رو میگذارم بالای اکشن مورد نظر بتونه از اون استفاده کنه!
پیداش کردم
ممنونم
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)