none
Attribute ile ilgili RRS feed

  • Soru

  • Merhaba,

    bir attribute bir class ın başında belirtilirse

    [attribute]

    public class falanfilan

    gibi, o vakit tüm class metodlarına uygulanıyor,

    bazı metodlara uygulamak istenirse bu sefer class değil, metodların başında belirtiliyor;

    lâkin, eğer class içinde birçok metod var ise, 50 kadar, 45 ine bu attribute ün uygulanılması iseniyor ise, tek tek 45 ine değil de geri kalan 5 metoda uygulanmaması için özel bir belirtim seçeneği var mıdır ?

    yani class ın başında belirtilip, yalnız bu 5 metoda uygulama gibi bir tanımlama...

    böylece 45 metod için ayrı ayrı belirtme zahmetine katlanılmasa...

    Yanıtınız için teşekkür ederim.

    Hürmetler.

    13 Şubat 2017 Pazartesi 03:59

Yanıtlar

  • Evet var.

    Örnek:

    Authorize attribute ile Controller içindeki tüm metodlara erişim için login olunması gerekiyor diyoruz ama Login methoduna AllowAnonymous attribute ile bu metoda login olmasada girilebilsin diyoruz.

    [Authorize]
    public class AccountController : Controller
    {
       [AllowAnonymous]
       public ActionResult Login()
       {
       }
    
       public ActionResult Logout()
       {
       }
    
       public ActionResult Profile()
       {
       }
    }


    oguzkurtcuoglu.com


    • Yanıt Olarak İşaretleyen ali güner 13 Şubat 2017 Pazartesi 23:29
    13 Şubat 2017 Pazartesi 06:09

Tüm Yanıtlar

  • Evet var.

    Örnek:

    Authorize attribute ile Controller içindeki tüm metodlara erişim için login olunması gerekiyor diyoruz ama Login methoduna AllowAnonymous attribute ile bu metoda login olmasada girilebilsin diyoruz.

    [Authorize]
    public class AccountController : Controller
    {
       [AllowAnonymous]
       public ActionResult Login()
       {
       }
    
       public ActionResult Logout()
       {
       }
    
       public ActionResult Profile()
       {
       }
    }


    oguzkurtcuoglu.com


    • Yanıt Olarak İşaretleyen ali güner 13 Şubat 2017 Pazartesi 23:29
    13 Şubat 2017 Pazartesi 06:09
  • Evet var.

    Örnek:

    Authorize attribute ile Controller içindeki tüm metodlara erişim için login olunması gerekiyor diyoruz ama Login methoduna AllowAnonymous attribute ile bu metoda login olmasada girilebilsin diyoruz.

    [Authorize]
    public class AccountController : Controller
    {
       [AllowAnonymous]
       public ActionResult Login()
       {
       }
    
       public ActionResult Logout()
       {
       }
    
       public ActionResult Profile()
       {
       }
    }




    Merhabalar,

    1) Oturum açıldığında oturum ekranından sonra, kullanıcı giriş yaptığında, oturum ekranını çağıran sayfayı Session["BirÖncekiSayfa"] gibi session ile mi tutmalıyız, yoksa otomatik bir fonksiyon redirectBirOncekiUrl(); gibi bir şey var mıdır ?

    .

    .

    2) Ayrıca oturum gereken bir sayfaya erişmeye çalışıldığında, öznitelikler ile kullanıcı giriş sayfasına yönlendirmeden önce hangi controller in talep edildiğini öznitelik kapsamı içerisinde öğrenmek mümkün müdür ?

    Yani bu öznitelik sipariş Controller dolayısıyla mı yoksa profil controller dolayısıyla mı çalışmıştır, bu anlaşılabiliyor mu öznitelik içerisinde ?

    Misal siz [GirisIzni] denildiğinde, bu deklarasyon controller in sanırım hiç çalıştırılmaması anlamına geliyor. Yani, öznitelik çalışıyor ama controller çalışmıyor anladığım kadarıyla.

    .

    .

    3) Peki eğer durum bu ise, çalışan öznitelikte siz, siparişler sayfasına erişmeye çalıştınız ama bunu oturum girişi olmadan göremezsiniz ya da aynı şekilde, siz profile sayfasına erişmeye çalıştınız ama bunun için giriş yapmalısınız nasıl denilebilir ?

    .

    .

    4) Eğer öznitelikten sonra controller birşekilde çalıştırılabiliyorsa (bu istisna olarak mümkün müdür) öznitelik bir ön konrol ve işlem için mi kullanılmaktadır ? (Tabii controller in çalışmasına devam etmesi mümkün olabiliyor mu o da ayrı bir konu)

    .

    .

    Tekrar teşekkür ederim.

    Hürmetlerimi arz ederim.

    • Düzenleyen ali güner 14 Şubat 2017 Salı 07:47
    14 Şubat 2017 Salı 07:32