مشخص کردن اینکه کدام user در حال اجرای دستورات است
من می خوام از طریق برنامه نویسی مشخص کنم که کدام کاربر هست که در حال اجرای query میباشد.
چون کاربران مختلف دسترسی های مختلفی دارن و می خوام مطمئن شوم که کاربر x اجازه ی دسترسی به فلان table را دارد و کاربر y اجاره ی این دسترسی را ندارد.در محیط sql این کدو بلدم.execute as user
که که جلوی user یک علامت = سپس اسم user را مینویسیم اما در برنامه نویسی بلد نیستم.در ضمن درست کردن user,grant,deny هم میدونم.
نقل قول: مشخص کردن اینکه کدام user در حال اجرای دستورات است
کسی نبود؟اگه کسی بخواهد user تعریف کنه وبعدش مشخص کنه که کدام user داره دستوراتو اجرا میکنه باید چه کار کرد؟
نقل قول: مشخص کردن اینکه کدام user در حال اجرای دستورات است
سوالت برای من واضح نبود اما اگر میخوای توی کدت بدونی که کدام کاربرت داره کوئری اجرا میکنه میتونی همون جایی که داری کانکشن استرینگ را پاس میکنی اسم کاربر را ببینی!!!
اگه مشکلت را واضحتر بگی بهتر میتونم کمکت کنم
نقل قول: مشخص کردن اینکه کدام user در حال اجرای دستورات است
نقل قول:
نوشته شده توسط
fjm11100
سوالت برای من واضح نبود اما اگر میخوای توی کدت بدونی که کدام کاربرت داره کوئری اجرا میکنه میتونی همون جایی که داری کانکشن استرینگ را پاس میکنی اسم کاربر را ببینی!!!
اگه مشکلت را واضحتر بگی بهتر میتونم کمکت کنم
راستش منظور من اینه که به sqlserver بفهمونم که کسی که مثلا درخواست خواندن فلان table را داره کی هست که sqlserver ببینه که اون user آیا اجازه ی select آن table را دارد یا نه.(فرض کنید تعداد خیلی زیادی کامپیوتر داخل شبکه هست و باید مشخص بشه درخواستها از کدام کامپیوتر می آیند)
در ضمن من تو ساختن connection فقط میتونم نام login را مشخص کنم.(در sql هم ساخت login داریم هم ساخت user ) اگه میشد که مثلا تو connection یا هر جای دیگه نام user را مشخص میکردیم خیلی خوب میشد.در ضمن ممنون که به سوال من رسیدگی میکنی.
نقل قول: مشخص کردن اینکه کدام user در حال اجرای دستورات است
یوزر شما قبل از استفاده از برنامه لاگین میکنه؟
نقل قول: مشخص کردن اینکه کدام user در حال اجرای دستورات است
نقل قول:
نوشته شده توسط
man7tomani
یوزر شما قبل از استفاده از برنامه لاگین میکنه؟
بله.کامل وصل میشم.و هر کاری بخوام میتونم انجام بدم.ولی همه که نباید دسترسی کامل را داشته باشند.
1 ضمیمه
نقل قول: مشخص کردن اینکه کدام user در حال اجرای دستورات است
سلام
آیا عکس زیر میتواند به شما کمک کند
نقل قول: مشخص کردن اینکه کدام user در حال اجرای دستورات است
نقل قول:
نوشته شده توسط
ab_ba
سلام
آیا عکس زیر میتواند به شما کمک کند
این عکس نشان میدهد که چگونه می شود permission های مختلف به کاربر داد ولی من می خوام بعد از این مرحله که شما نشان دادید از طریق ado یا کدنویسی مشخص کنم کدام user در حال اجرای query هست.مثلا.
select * from table
ما می خواهیم حالا مشخص کنیم بعد از اجرای این دستور توسط sqlcommand یا هر چیز دیگر چگونه sqlserver میفهمه که کدام user درخواست همچین query را داده که بعدش معلوم بشه آیا این user حق اجرای چنین دستوری داره یا نه.
در ضمن ما یک loginid داریم و یک userid که loginid برخی دسترسی ها مثل اجازه ی backup گرفتن واجازه ی درست کردن database و... رامشخص می کند ولی userid برخی دسترسی ها مثل اجازه ی select,insert,delete کردن یک table مشخص را معلوم میکند.در ضمن در دستور زیر ما loginid را مشخص میکنیم.
sqlconnection conn=new sqlconnection("server=(local);user='x';password='y ';database=z")x
نقل قول: مشخص کردن اینکه کدام user در حال اجرای دستورات است
سلام
من حتما جوابتون را پيدا ميکنم فقط تو اين 72ساعت برام ميل بزنيد که يادم باشه جواب را تو اين تايپيک بزارم.
آخه من يه کم!!! فراموش ميکنم جوابا رو تو کدوم سايت بايد بزارم.
نقل قول: مشخص کردن اینکه کدام user در حال اجرای دستورات است
شما برای هر یوزری که تعریف میکنید در اسکیول سرور یک فیلد هم برای پرمیژن در نظر بگیرید مثلا مدیر ،مسول ،کاربر عادی یا....
هنگام لاگین هم هر کدون ار اینایی که لاگین کردند براشون تو برنامه پرمیژن بزار مثلا فرم ها یا دکمه ها رو disable کن
وقتی طرف داره لاگین میکنه(سلکت میزنی)مقدار اخرین فیلد (پرمیژن)رو چک کن و نسبت به هر کدوم تو برنامه حق دسترسی بده
نقل قول: مشخص کردن اینکه کدام user در حال اجرای دستورات است
دوستان از راهنمای هایتان ممنون.فکر کنم راهش را پیدا کردم.
اول یه login درست میکنیم.
CREATE LOGIN user87 WITH PASSWORD = 'pa$$word'x
بعد یک user درست می کنیم و به login نسبت میدهیم
CREATE USER user87 FOR LOGIN user87
حالا به user می توانیم دسترسی مختلف بدهیم.
grant select,inser on table to user87
حالا می توانیم با login بالا به database وصل بشیم.
sqlconnection conn=new sqlconnecton("server =(local);uid='user87';pwd='pa$$word';database=x)x
فقط نمی دونم راه بهتری هست یا نه؟یعنی اگه 100 تا user داریم باید 100 تا login هم داشته باشیم؟
نقل قول: مشخص کردن اینکه کدام user در حال اجرای دستورات است
خب گروه بسازید. مثلا گروه کاربران محدود (فقط برای Select ) و گروه کاربران ارشد (برای Select,Insert,Update) و ... و کاربرانی که میخواهید را عضو این گروه ها بکنید
نقل قول: مشخص کردن اینکه کدام user در حال اجرای دستورات است
نقل قول:
نوشته شده توسط
razavi_university
خب گروه بسازید. مثلا گروه کاربران محدود (فقط برای Select ) و گروه کاربران ارشد (برای Select,Insert,Update) و ... و کاربرانی که میخواهید را عضو این گروه ها بکنید
برای user میشه login تعریف کرد ولی برای role نمیشه.role برای این خوبه که با کمکش میشه چند تا user با یک دسترسی خاص تعیین کرد.
نقل قول: مشخص کردن اینکه کدام user در حال اجرای دستورات است
نقل قول:
نوشته شده توسط
ehsan153
دوستان از راهنمای هایتان ممنون.فکر کنم راهش را پیدا کردم.
اول یه login درست میکنیم.
CREATE LOGIN user87 WITH PASSWORD = 'pa$$word'x
بعد یک user درست می کنیم و به login نسبت میدهیم
CREATE USER user87 FOR LOGIN user87
حالا به user می توانیم دسترسی مختلف بدهیم.
grant select,inser on table to user87
حالا می توانیم با login بالا به database وصل بشیم.
sqlconnection conn=new sqlconnecton("server =(local);uid='user87';pwd='pa$$word';database=x)x
فقط نمی دونم راه بهتری هست یا نه؟یعنی اگه 100 تا user داریم باید 100 تا login هم داشته باشیم؟
دوست گرامی آیا تونستی به نتیجه ای برسی . منم مشکلم همینه اگر به جایی رسیدی برای من هم بگو
نقل قول: مشخص کردن اینکه کدام user در حال اجرای دستورات است
نقل قول:
نوشته شده توسط
mnasrin
دوست گرامی آیا تونستی به نتیجه ای برسی . منم مشکلم همینه اگر به جایی رسیدی برای من هم بگو
جناب razavi_university جواب درست و اصولی را دادند.
برایه ادامه در مورد جوابشان تحقیق کنید، روشهایه دیگر که اراعه شد من درآوردی و غیره اصولی هستند که برایه سرهم آوردن ممکنه کافی باشند ولی اصلاً اعتبار ندارند.