2016-12-05 74 views
2

如何從攔截器內訪問路由或組元數據?訪問redstone攔截器中的當前路由元數據

我想補充一個@public()像一個路線:

@app.Route("/user/find/:id") 
@public() 
getUser(String id) => {"name": "User", "login": "user"}; 

,並創建一個攔截器,阻止訪問路線不具有公共的元數據,並且沒有用戶登錄。這可能嗎?

@app.Interceptor(r'/admin/.*') 
adminFilter() { 
    if (app.request.session["username"] != null || CURRENT_ROUTE_HAS_PUBLIC_METADATA) { 
    return app.chain.next(); 
    } else { 
    return app.chain.abort(HttpStatus.UNAUTHORIZED); 
    //or app.chain.redirect("/login.html"); 
    } 
} 

回答

2

我向包含方法鏡像和組鏡像的包添加了一個選項。有了這個,我可以檢索所有暴露路由模式的公開方法。