SORU
9 Temmuz 2011, CUMARTESİ


Nasıl bahar güvenlik dil anlatım ek açıklamalar kullanmak için özel yöntemler oluşturmak

Bahar güvenlik ifade dili kullanmak için özel bir yöntem ekler bir sınıf oluşturma yöntemi tabanlı yetkilendirme yoluyla ek açıklamalar isterim.

Örneğin, özel bir yöntem oluşturmak istiyoruz 'customMethodReturningBoolean böyle bir şekilde kullanılacak

  @PreAuthorize("customMethodReturningBoolean()")
  public void myMethodToSecure() { 
    // whatever
  }

Benim sorum bu. Eğer mümkünse, ne yapmalıyım sınıf alt sınıf oluşturmak için benim özel yöntemler, nasıl yapabilirim hakkında yapılandırmaya bahar xml yapılandırma dosyaları ve gelip birisi bana bir örnek ver özel bir yöntem kullanılır bu şekilde mi?

CEVAP
15 ŞUBAT 2013, Cuma


Bahsettiğimiz teknikler yok artık çalışacak. Bahar büyük çaba ile SecurityExpressionRoot ağır basan engellemek için gitti gibi görünüyor.

11/19/14 Kur Bahar güvenlik ek açıklamaları kullanabilirsiniz.

<beans ... xmlns:sec="http://www.springframework.org/schema/security" ... >
...
<sec:global-method-security pre-post-annotations="enabled" />

Böyle bir fasulye oluşturun

@Component("mySecurityService")
public class MySecurityService {
    public boolean hasPermission(String key) {
        return true;
    }
}

Sonra jsp senin böyle bir şey

<sec:authorize access="@mySecurityService.hasPermission('special')">
    <input type="button" value="Special Button" />
</sec:authorize>

Ya da bir yöntemi açıklama:

@PreAuthorize("@mySecurityService.hasPermission('special')")
public void doSpecialStuff() { ... }

Bahar kullanıyorsanız ve sınıfları, yöntemleri geçersiz kılma, uygulama arabirimleri,... muhtemelen yanlış bir şey yapıyorsun vs. sonra da genişleterek bir sorunu çözmek için varsa. ve unutmayın: Tüm açıklamalar ve bu Bahar çok değil (eski sürümleri) seviyoruzdur xml YEREL.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Blunty

    Blunty

    13 Mart 2006
  • friendz.net

    friendz.net

    29 EKİM 2010
  • jeffisthecoolguy

    jeffisthecoo

    17 HAZİRAN 2013