c# - বর্তমান ব্যবহারকারীকে ASP.NET MVC এ কিভাবে পেতে হবে




asp.net-mvc iis (13)

আপনি এএসপি.NET MVC4 এ ব্যবহারকারীর নামটি এটিকে পেতে পারেন:

System.Web.HttpContext.Current.User.Identity.Name

একটি ফর্ম মডেলের মধ্যে, আমি বর্তমান লগ-ইন ব্যবহারকারীটি এইভাবে ব্যবহার করতাম:

Page.CurrentUser

কিভাবে আমি বর্তমান ব্যবহারকারীকে ASP.NET MVC এ একটি নিয়ামক শ্রেণির ভিতরে পেতে পারি?


আপনি নিম্নলিখিত কোড ব্যবহার করতে পারেন:

Request.LogonUserIdentity.Name;

আমরা ASP.Net MVC এ বর্তমান লগ ইন ব্যবহারকারী পেতে নিম্নলিখিত কোডটি ব্যবহার করতে পারি:

var user= System.Web.HttpContext.Current.User.Identity.GetUserName();

এছাড়াও

var userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name; //will give 'Domain//UserName'

Environment.UserName - Will Display format : 'Username'

আমি দেখেছি যে User কাজ, অর্থাৎ, User.Identity.Name বা User.IsInRole("Administrator")


আমি ব্যবহার করি:

Membership.GetUser().UserName

আমি এই ASP.NET MVC কাজ করবে নিশ্চিত নই, কিন্তু এটি একটি শট মূল্য :)



এটি মূল্যের জন্য, ASP.NET MVC 3 তে আপনি কেবল ব্যবহারকারীর ব্যবহার করতে পারেন যা বর্তমান অনুরোধের জন্য ব্যবহারকারীকে প্রদান করে।


ফিল্টারিং উদ্দেশ্যে ASP.NET MVC 4 এ একটি নিয়ামক হিসাবে তৈরি করা সহজ প্রমাণীকরণ ব্যবহার করে তৈরি একটি ব্যবহারকারী আইডি উল্লেখ করার জন্য (যদি আপনি ডাটাবেস প্রথম এবং এন্টিটি ফ্রেমওয়ার্ক 5 ব্যবহার করে কোড-প্রথম বাইন্ডিংগুলি তৈরি করতে এবং আপনার টেবিলগুলি গঠন করা হয় তবে এটি সহায়ক যে ব্যবহারকারী আইডি একটি বিদেশী কী ব্যবহার করা হয়), আপনি ব্যবহার করতে পারেন

WebSecurity.CurrentUserId

একবার আপনি একটি ব্যবহার বিবৃতি যোগ করুন

using System.Web.Security;

যদি আপনি নিয়ামক থেকে ব্যবহারকারীকে পেতে চান, কন্ট্রোলার User সম্পত্তি ব্যবহার করুন। যদি আপনি ভিউ থেকে এটির প্রয়োজন বোধ করেন, তবে আমি ViewData আপনার যা বিশেষভাবে প্রয়োজন তা পূরণ ViewData , অথবা আপনি কেবল ব্যবহারকারীকে কল করতে পারেন যেমন আমি মনে করি এটি ViewData সম্পত্তি।


যদি আপনি লগইন পৃষ্ঠার ভিতরে থাকেন, উদাহরণস্বরূপ LoginUser_LoggedIn ইভেন্টে, Current.User.Identity.Name একটি ফাঁকা মান ফেরত দেবে, তাই আপনাকে আপনার লোগিন কন্ট্রোলনেম.উসারেরনাম সম্পত্তি ব্যবহার করতে হবে।

MembershipUser u = Membership.GetUser(LoginUser.UserName);

HttpContext.Current.User চেষ্টা করুন।

পাবলিক শেয়ার্ড সম্পত্তির বর্তমান () সিস্টেম ওয়েভ.হেটপেনটেক্সট হিসাবে
সিস্টেম ওয়েভ.হেটপয়েন্টে সদস্য

সারাংশ:
বর্তমান HTTP অনুরোধের জন্য System.Web.HttpContext অবজেক্টটি পেয়ে বা সেট করে।

ফেরত মান:
বর্তমান HTTP অনুরোধের জন্য System.Web.HttpContext


System.Security.Principal.WindowsIdentity.GetCurrent().Name ব্যবহার করুন। System.Security.Principal.WindowsIdentity.GetCurrent().Name

এটি বর্তমান লগ-ইন উইন্ডোজ ব্যবহারকারী পাবেন।


IPrincipal currentUser = HttpContext.Current.User;
bool writeEnable = currentUser.IsInRole("Administrator") ||
        ...
                   currentUser.IsInRole("Operator");




forms-authentication