امنیت در MVC asp.net

برای اینکه بتوانیم امنیت دسترسی به action ها را حفظ کنیم می توانیم از AuthorizeAttribute که ساده ترین نوع استفاده از آن به شکل زیر می باشد استفاده کنیم:

[Authorize]
 public ActionResult About()
 {
      throw new System.NotImplementedException();
  }

و برای اینکه از طریق کد بخواهیم کاربری را Authorize کنیم یعنی قدرتی به او بدهیم که بتواند از Action های برچسب Authorize خورده استفاده کند کافیست:

FormsAuthentication.SetAuthCookie(member.Name,false);

و برای آنکه بتوانیم او را از این حالت خارج سازیم:

 FormsAuthentication.SignOut();

و اگر بخواهیم در صفحات Razor نام کاربری او را مشاهده کنیم:

 @if (User.Identity.Name != string.Empty)
 {
    @User.Identity.Name
       
     @Html.ActionLink("خروج", "LogOff", "Members")    
}

 

 

نحوه تنظیم یک سایت mvc جهت استفاده از کنترل های تلریک (telerik)

فولدری که telerik در آن نصب شده = Telerik Folder و از این پس به اختصار TF
مثال C:\Program Files (x86)\Telerik\Extensions for ASP.NET MVC Q1 2012

  1. اضافه کردن فولدر های Content و Scripts از TF به پروژه
    نکته : برای صرفه جویی در فضا می تونید از Content ها Skin خاصی که انتخاب کردید را بیارید. یعنی یه همچین شکلی می شه فولدره Content:
    Content\2012.1.214\Sunset\
    Content\2012.1.214\telerik.sunset.min
    telerik.common.min.css
    telerik.rtl.min.css

  2. کپی فایل Telerik.Web.Mvc.dll از TF/Binaries/MVCx به فولدر bin پروژه و Reference دادن به آن.
  3. اضافه کردن namespace زیر به قسمت Pages وب کانفیگ
    add namespace="Telerik.Web.Mvc"
  4. اضافه کردن    به web.config
    <runtime>

        <assemblyBindingxmlns="urn:schemas-microsoft-com:asm.v1">

          <dependentAssembly>

            <assemblyIdentityname="System.Web.Helpers"publicKeyToken="31bf3856ad364e35" />

            <bindingRedirectoldVersion="1.0.0.0-2.0.0.0"newVersion="2.0.0.0" />

          dependentAssembly>

          <dependentAssembly>

            <assemblyIdentityname="System.Web.Mvc"publicKeyToken="31bf3856ad364e35" />

            <bindingRedirectoldVersion="0.0.0.0-4.0.0.0"newVersion="4.0.0.0" />

          dependentAssembly>

          <dependentAssembly>

            <assemblyIdentityname="System.Web.WebPages"publicKeyToken="31bf3856ad364e35" />

            <bindingRedirectoldVersion="0.0.0.0-2.0.0.0"newVersion="2.0.0.0" />

          dependentAssembly>

        assemblyBinding>

      runtime>

    به وب کانفیگ
  5. نوشتن کد زیر در انتهای صفحات یا مستر پیج سایت:
      @Html.Telerik().ScriptRegistrar()



  6. اضافه کردن استایل شیت ها به صفحات یا مستر پیج توسط کد زیر:
     @( Html.Telerik().StyleSheetRegistrar()
            .DefaultGroup(group => group.Add("telerik.common.css")
                                        .Add("telerik.vista.css").Add("telerik.rtl.css"))
        )

 

جهت تست:

یک کامپوننت روی صفحه مثل این کد بیاندازید:

       @(Html.Telerik().PanelBar().Name("myPanel").Items(factory =>
              {
                  factory.Add().Text("Panel1").Expanded(true).Items(subitem =>
                      {
                          subitem.Add().Text("sub item 1");
                          subitem.Add().Text("sub item 2");
                      });
                  factory.Add().Text("Panel2");
              })
              )