Ich befolge dieses Tutorial für eine Grails-Forum-Anwendung: http://grails.asia/grails-forum-application.Zugriff auf die Anwendung in Grails verweigert
Ich habe genau das getan, was es hat, außer dass ich feder-security-core: 2.0.0 plugin statt feder-security-core: 1.2.7.3 in dem im Tutorial erwähnten Tutorial verwende (Link gegeben über).
Wenn ich versuche, um sich einzuloggen: Ich habe diesen Fehler:
"Sorry, you're not authorized to view this page"
Ich bin nicht sicher, was der Fehler genau ist wie die Konsole keine Spur nicht geben.
Ich benutze GGTS Groovy/Grails Tool Suite Version: 3.6.4.RELEASE auf Ubuntu Linux 16.04.
Der Code ich verwende den gleichen Code in den obigen Link und auf Github aufgeführt ist (https://github.com/grailsasia/grails-ex-forum)
Was mache ich falsch? Die Anwendung verweigert mir den Zugriff, obwohl ich einen Benutzernamen und ein Passwort verwende, die die Anwendung selbst generiert.
hier ist der Code für Bootstrap.groovy, die ich Daten zu laden, bin mit (wieder - gerade aus dem Tutorial selbst):
class BootStrap {
def random = new Random();
def words = ("time,person,year,way,day,thing,man,world,life,hand,part,child,eye,woman,place,work,week,case,point," +
"government,company,number,group,problem,fact,be,have,do,say,get,make,go,know,take,see,come,think,look," +
"want,give,use,find,tell,ask,work,seem,feel,try,leave,call,good,new,first,last,long,great,little,own," +
"other,old,right,big,high,different,small,large,next,early,young,important,few,public,bad,same,able,to,of," +
"in,for,on,with,at,by,from,up,about,into,over,after,beneath,under,above,the,and,a,that,I,it,not,he,as,you," +
"this,but,his,they,her,she,or,an,will,my,one,all,would,there,their").split(",")
def init = { servletContext ->
if (SecUser.count() == 0) { // no user in db, lets create some
def defaultRole = new SecRole(authority: 'ROLE_USER').save()
// create 100 users
(1..100).each { userNo ->
String username = "user${userNo}"
def user = new SecUser(username:username, password: 'secret', enabled: true).save()
// all users will have default role
new SecUserSecRole(secUser:user, secRole: defaultRole).save()
}
}
if (Section.count() == 0) { // create data if no forum data found
// get all users
def users = SecUser.list()
// create 3 sections
('A'..'C').each { sectionLetter ->
def sectionTitle = "Section ${sectionLetter}"
def section = new Section(title: sectionTitle).save()
// create 4 topics per section
(1..4).each { topicNumber ->
def topicTitle = "Topic ${sectionLetter}-${topicNumber}"
def topicDescription = "Description of ${topicTitle}"
def topic = new Topic(section: section, title: topicTitle, description: topicDescription).save()
// create 10-20 threads each topic
def numberOfThreads = random.nextInt(11)+10
(1..numberOfThreads).each { threadNo ->
def opener = users[random.nextInt(100)]
def subject = "Subject ${sectionLetter}-${topicNumber}-${threadNo} "
def thread = new DiscussionThread(topic:topic, subject:subject, opener:opener).save()
new Comment(thread:thread, commentBy:opener, body:generateRandomComment()).save()
// create 10-35 replies per thread
def numberOfReplies = random.nextInt(26)+10
numberOfReplies.times {
def commentBy = users[random.nextInt(100)]
new Comment(thread:thread, commentBy:commentBy, body:generateRandomComment()).save()
}
}
}
}
}
}
private String generateRandomComment() {
def numberOfWords = random.nextInt(50) + 15
StringBuilder sb = new StringBuilder()
numberOfWords.times {
def randomWord = words[random.nextInt(words.length)]
sb.append("${randomWord} ")
}
return sb.toString()
}
def destroy = {
}
}
ich das Beste mache ich, um herauszufinden, was los ist, , aber ich habe keine Fehlermeldung, was das Problem ist und das Tutorial hilft mir nicht, herauszufinden, warum.
UPDATE !!
Nach dem Blick auf die Antworten, die ich erhielt, ging ich zurück und schaute wieder auf die Tutorials, in den Links geschrieben und festgestellt, dass meine Probleme tatsächlich mit der Liste der zulässigen Rollen und Zugriffe verbunden sind.
Hier ist die Liste der erlaubten Zugriffe/Rollen/Ressourcen Ich muss spielen und verstehen mehr:
// Added by the Spring Security Core plugin: grails.plugin.springsecurity.userLookup.userDomainClassName = 'furqanforum.SecUser' grails.plugin.springsecurity.userLookup.authorityJoinClassName = 'furqanforum.SecUserSecRole' grails.plugin.springsecurity.authority.className = 'furqanforum.SecRole' grails.plugin.springsecurity.controllerAnnotations.staticRules = [ '/': ['permitAll'], '/forum/**': ['permitAll'], '/index': ['permitAll'], '/index.gsp': ['permitAll'], '/assets/**': ['permitAll'], '/**/js/**': ['permitAll'], '/**/css/**': ['permitAll'], '/**/images/**': ['permitAll'], '/**/favicon.ico': ['permitAll'], '/login/**': ['permitAll'], '/logout/**': ['permitAll'] ]
bedankt sich bei allen, die mir geholfen, mich positiv beigetragen zu helfen und eine neue Fertigkeit zu gewinnen!
Ich lese mehr über Federsicherheit und Tweaking und ich lerne. Aber basierend auf der überprüften Antwort und den Antworten und Vorschlägen, löste dies mein Problem,
Siehe ... das ist genau das, was ich meine. Warum wurde dieser Beitrag abgelehnt? Meistens erklären, warum es abgelehnt wird. Willkürliche Aktionen wie diese fördern weder Wachstum, noch fördern sie die Ermutigung, an solche Orte zu kommen, um Hilfe zu bekommen. – ironmantis7x
Wenn es hilft, dass ich dich vielleicht upvoted habe, unsicher, warum es so viele Downvotes gibt, vielleicht weil der Winkel der Frage nicht einfach zu folgen ist - und die Antwort relativ einfach ist - ist das Problem hier, dass du mit Sicherheit im Frühling und im tiefen Ende bist Sie müssen vielleicht etwas über Grails Spring Security lesen, bevor Sie Tutorial - Sie können Spring Security Debug Logs aktivieren, um herauszufinden, was es tut - und um alles, was auf die statischen Regeln erstellt zu reduzieren und fügen Sie einfach Ihre Controller nach ControllerName/** permitAlle Regel, um Zugang zu geben - das ist msg ist Frühling Sicherheitsblockierung Seite – Vahid
Wenn Sie das Tutorial mit der Version von Spring-Sicherheit, für die es geschrieben wurde, ist es funktioniert wie erwartet? – doelleri