2012-06-18 10 views
7

पर आधारित लिंक छुपाएं Ip.mvc के लिए नया। मैं कर्मचारी डेटा को बनाए रखने के लिए एक पोर्टल विकसित करने की कोशिश कर रहा हूं। मेरे सिस्टम में केवल "प्रबंधक" के पास कर्मचारी बनाने के लिए कठोरता है। मैं में लिंक जब प्रबंधक लॉग कैसे सक्षम और कर्मचारी लॉग में। धन्यवादभूमिका

मेरे देखें

@model IEnumerable<SealManagementPortal_3._0.Models.VOC_CUSTODIAN> 
@{ 
    ViewBag.Title = "List of Custodians"; 
} 
<h2>Index</h2> 
<p> 
    @Html.ActionLink("Create New", "Create") 
</p> 
<script type="text/javascript"> 
    jQuery(document).ready(function() { 
     jQuery("#list2").jqGrid({ 
      url: '@Url.Action("GridData", "Custodian")', 
      datatype: 'json', 
      mtype: 'GET', 
      colNames: ['Agent ID', 'Branch', 'Unique ID', 'Custodian Name', /*'NRIC No', 'E-Mail', 'Contact No', 'Mobile No',*/'Role', 'Details', 'Edit', 'Delete'], 
      colModel: [ 
       { name: 'Agent ID', index: '', width: 10, align: 'left' }, 
       { name: 'Branch', index: '', width: 10, align: 'left' }, 
       { name: 'Unique ID', index: '', width: 10, align: 'left' }, 
       { name: 'Custodian Name', index: '', width: 10, align: 'left' },     
       {name: 'Role', index: '', width: 10, align: 'left' }, 
       { name: 'Details', index: '', width: 5, align: 'left' }, 
       { name: 'Edit', index: '', width: 5, align: 'left' }, 
       { name: 'Delete', index: '', width: 5, align: 'left'}], 
      pager: jQuery('#pager2'), 
      rowNum: 10,     
      sortname: 'Id', 
      sortorder: "desc", 
      viewrecords: true, 
      autowidth: true, 
      caption: 'Custodians List' 
     }); 
    }); 
</script> 
@using (Html.BeginForm()) 
{ 
    <table id="list2" class="scroll" cellpadding="0" cellspacing="0"></table> 

उत्तर

15

आप भूमिकाओं इस्तेमाल कर सकते हैं जब निष्क्रिय।

[HttpPost] 
[Authorize(Roles = "Managers")] 
public ActionResult Create(Employee emp) 
{ 
    ... 
} 

: पहला और सबसे महत्वपूर्ण बात यह नियंत्रक कार्रवाई कि Authorize विशेषता के साथ अद्यतन करने और सही भूमिकाओं निर्दिष्ट करने के लिए है कि उपयोगकर्ता इस नियंत्रक कार्रवाई तक पहुँचने के लिए पास चाहिए माना जाता है को सजाने के लिए है एक बार सब कुछ सर्वर पर सुरक्षित है आप ध्यान में रखते हुए सौंदर्य प्रसाधन करते हैं और लिंक तभी दिखाते हैं उपयोगकर्ता Managers भूमिका में है सकता है:

@if (User.IsInRole("Managers")) 
{ 
    @Html.ActionLink("Create employee", "Create") 
} 

आप रूपों प्रमाणीकरण के बारे में अधिक जानकारी के लिए following article पर एक नज़र लग सकता है और भूमिकाएं।

+0

क्या टेम्पलेट में "प्रबंधक" की पुनरावृत्ति से बचने का कोई तरीका है? मैं एक ही स्थान पर भूमिका प्रबंधन करना चाहता हूं और प्राधिकरण विशेषता मेरे साथ बहुत अच्छी है। क्या मैं किसी ऐसे एचटीएमएलहेल्पर को परिभाषित कर सकता हूं जो विशेषता की सामग्री तक पहुंचता है? –