PDA

View Full Version : ایجاد سطوح دسترسی



sg.programmer
یک شنبه 26 آذر 1396, 19:07 عصر
سلام

بهترین روش برای دادن سطوح دسترسی بر اساس منوی موجود در برنامه چطور هست؟

(میخوام بصورت درختی منوهام و یک چک باکس کنارش برای دادن سطح دسترسی باز بشه و مدیر هرکی را که میخواد منوها را براش انتخاب کنه و اون منو در ورود برای هر کاربر فعال و غیرفعال بشه)
تشکر

sg.programmer
یک شنبه 03 دی 1396, 23:00 عصر
کسی از این نوع سطوح دسترسی استفاده نمیکنه تا توضیحی بده یا سمپلی قرار بده؟

sg.programmer
شنبه 23 دی 1396, 20:45 عصر
بهترین روش برای ایجاد سطوح دسترسی برای منوها چیست؟ و چطور باید طراحی گردد؟

رامین مرادی
یک شنبه 24 دی 1396, 08:47 صبح
بهترین روش برای ایجاد سطوح دسترسی برای منوها چیست؟ و چطور باید طراحی گردد؟

خودم با تگ ها کار کردم.نسبتا کم دردسر تره .روششم خیلی راحته.
به این شکل که یک جدول میسازید و دو ستون تگ و عنوان رو ذخیره میکنسد. برای مثال تگ A نشان دهنده منو اول و تگ A-A هم زیر منو اول، منو A هست. عنوان هر منو رو هم مینویسید.
سپس تو فرمتون تگ های اون منو رو مقدار دهی میکنید.
خب یه جدول دیگه هم برای دسترسی کاربر که شامل تگ و کد اون کاربر هست ایجاد میکنید. تیک هر تگی رو که بزنید برای اون کاربر ذخیره کنید.
وقتی فرمتون شروع میشه تمامی سطوح دسترسی کاربر رو سلکت کنید و سپس با یه حلقه forech منو و زیر منوها تگشون توی سلکت هست یا نه اگه بود که هیچ اگه هم نبود اون منو رو پنهان میکنی

sg.programmer
یک شنبه 24 دی 1396, 16:43 عصر
تشکرمهندس - زیاد متوجه نشدم

منظورتون از تگ چی هست : همون خاصیت Name در منو هست؟

تیک هر تگی رو که بزنید برای اون کاربر ذخیره کنید.
تیک را چطوربزنه؟

و اگر ممکنه یک عکس از بخش مدیرت کاربران اینجا بزارید تا متوجه بشم و الگو بگیرم
تشکر

رامین مرادی
دوشنبه 25 دی 1396, 11:06 صبح
منظورم از تگ همون خاصیت Tag کنترل هاست.تیک رو هم با یه ساختار درختی ایجاد کن.
سعی میکنم یه آموزش کوتاه بزارم. البته کمی سر شلوغه یه کم طول میکشه.
اینم نمونه ای از قسمتی که سطوح دسترسی رو اعمال میکنم.البته قراره کاملتر بشه و جزییات فرم هم به این موارد اضافه بشه.:متفکر:

147451

به گرافیکشم نوجهی نکن:لبخند:

sg.programmer
دوشنبه 25 دی 1396, 19:12 عصر
منظورم از تگ همون خاصیت Tag کنترل هاست.تیک رو هم با یه ساختار درختی ایجاد کن.
سعی میکنم یه آموزش کوتاه بزارم. البته کمی سر شلوغه یه کم طول میکشه.
اینم نمونه ای از قسمتی که سطوح دسترسی رو اعمال میکنم.البته قراره کاملتر بشه و جزییات فرم هم به این موارد اضافه بشه.:متفکر:

147451

به گرافیکشم نوجهی نکن:لبخند:

آره همچین چیزی میخوام درست کنم

سعی میکنم یه آموزش کوتاه بزارم. البته کمی سر شلوغه یه کم طول میکشه.
اگه ممکنه کدهای PageLoad و دکمه Save تون را قرار بدید
تشکر

رامین مرادی
سه شنبه 26 دی 1396, 08:30 صبح
این برای پر کردن ساختار درختی هست



private void SecurityAccessFrm_Load(object sender, EventArgs e)
{
try
{
_acountsTb = CheckPermission.SelectAllPermission();
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
PopulateTreeView("0", null);
}
/// <summary>
/// پر کردن ساختار درختی
/// </summary>
private void PopulateTreeView(string parentId, TreeNode parentNode)
{
TreeNode childNode;
foreach (DataRow dr in _acountsTb.Select("[Parent]='" + parentId + "'"))
{
TreeNode t = new TreeNode();
t.Text = dr["Title"].ToString();
t.Name = dr["TagId"].ToString();
t.Tag = _acountsTb.Rows.IndexOf(dr);
if (parentNode == null)
{
treeView1.Nodes.Add(t);
treeView1.CheckBoxes = true;
childNode = t;
}
else
{
parentNode.Nodes.Add(t);
childNode = t;
}
PopulateTreeView(dr["TagId"].ToString(), childNode);
}
}




برا بخش ذخیره هم یه کم شلوغه اجازه بدید اصلاح کنم میدم. خودمم الان قاطی میکنم:لبخند:

خب برای جدول دسترسی ها هم یه ستون عنوان نیاز داری (title) و یه ستون تگ (tagid) و یه ستون پدر(Parent) که برای مثال به صورت زیر مقدار دهی بشه.
برای منو اول میتونی عنوان رو هرچی دلت خواست بزاری برای تگ A و برای پدر شاخه اول 0
برای زیر منوٍ، منو اول عنوان هرچی دلت خواست و برای تگ A-A و برای پدر A

sg.programmer
سه شنبه 26 دی 1396, 16:45 عصر
تشکر
اگه ممکنه بگید فیلدها تون هم از چه نوعی هست - دستتون درد نکنه

رامین مرادی
چهارشنبه 27 دی 1396, 08:33 صبح
تشکر
اگه ممکنه بگید فیلدها تون هم از چه نوعی هست - دستتون درد نکنه

یه دونه آی دی از نوع عددی هست بقیه رو رشته در نظر بگیرید.

sg.programmer
چهارشنبه 27 دی 1396, 20:37 عصر
اگه ممکنه این مورد را هم بفرستید

برا بخش ذخیره هم یه کم شلوغه اجازه بدید اصلاح کنم میدم. خودمم الان قاطی میکنم:لبخند: