Yes. Specifying the /Admin operation would inherit all child permissions of
admin.

                _permissionsBuilderService
                    .Allow("/Admin")
                    .For("Administrators")
                    .OnEverything()
                    .DefaultLevel()
                    .Save();


On Wed, Mar 24, 2010 at 1:50 PM, Hoang Tang <[email protected]> wrote:

> Hi all,
>
> Is this possible specify operation such as /Admin/* that would take effect
> for /Admin and everything else under /Admin?
>
> Best,
>
> Hoang
>
> On Mon, Nov 30, 2009 at 4:54 AM, Ayende Rahien <[email protected]> wrote:
>
>> Hoang,
>> The reason is to avoid name clashes with your existing database. You might
>> have a Permissions table already.
>>
>>
>> On Mon, Nov 30, 2009 at 2:44 AM, Hoang Tang <[email protected]>wrote:
>>
>>> Oren,
>>>
>>> Thanks for the quick reply. So what so particular about the schema beside
>>> the obvious naming convention different that prevent NHibernate from
>>> generating the table automatically? Is this by design?
>>>
>>> On a side note NHProf is a great troubleshooting tool. Being able to see
>>> what kind of query got generated, when they are hitting the database, along
>>> with all the sql parameter is just great! In NHProf I can see that
>>> NHibernate attempted to generate security.Permission database and it fail.
>>> Though I didn't know why, it certainly help direct me on the right path and
>>> this is just one particular case...
>>>
>>>
>>>
>>>
>>>
>>> On Sun, Nov 29, 2009 at 11:50 AM, Ayende Rahien <[email protected]>wrote:
>>>
>>>> Hoang,
>>>> This difference between schema & prefix is how RS will refer to the
>>>> tables.
>>>> If you use schema, then the tables will be secruity.Permissions (which
>>>> requires to manually create the schemas).
>>>> If you use prefix, then the table swill be security_Permissions.
>>>>
>>>>
>>>> On Sun, Nov 29, 2009 at 11:53 AM, Hoang Tang <[email protected]>wrote:
>>>>
>>>>> I got it to work! Yay!
>>>>>
>>>>> However there is some substantial change of how RhinoSecurity is
>>>>> suppose to set up. The example that Artur use an older version of
>>>>> RhinoSecurity so Security.InitializeConfiguration<YourUserImpl>(cfg)
>>>>> wasn't available then.
>>>>>
>>>>> If Security.InitializeConfiguration<YourUserImpl>(cfg) is used then
>>>>> there is no need to Include the RhinoSecurity assembly into the
>>>>> hibernate config file. In fact doing so will resulted in a duplicate
>>>>> mapping error.
>>>>> I actually got it set up correctly the first time.
>>>>>
>>>>> However I couldn't get it to work because I used
>>>>> SecurityTableStructure.Schema this is the part that I don't really
>>>>> understand what is all that require if I used this instead of
>>>>> SecurityTableStructure.Prefix. If somebody could explain the different
>>>>> that would be great.
>>>>>
>>>>> Anyway it's working when I changed to SecurityTableStructure.Prefix.
>>>>> It's also worth noting that SchemaUpdate will fail silently(which sent
>>>>> me on a wild goose chase) while SchemaExport will throw an exception
>>>>> when I tried to use  SecurityTableStructure.Schema
>>>>>
>>>>>
>>>>> Here is the exception that got throw when I attempted to do a
>>>>> SchemaExport with the SecurityTableStructure.Schema settting.
>>>>>
>>>>> NHibernate.HibernateException was unhandled
>>>>>  Message="The specified schema name \"security\" either does not
>>>>> exist or you do not have permission to use it."
>>>>>  Source="NHibernate"
>>>>>  StackTrace:
>>>>>       at NHibernate.Tool.hbm2ddl.SchemaExport.Execute(Action`1
>>>>> scriptAction, Boolean export, Boolean justDrop)
>>>>>       at NHibernate.Tool.hbm2ddl.SchemaExport.Execute(Boolean script,
>>>>> Boolean export, Boolean justDrop)
>>>>>       at NHibernate.Tool.hbm2ddl.SchemaExport.Create(Boolean script,
>>>>> Boolean export)
>>>>>       at RhinoSecurity.Program.Main(String[] args) in
>>>>>
>>>>> C:\Users\Hummy\Desktop\example\RhinoSecNhSetup\RhinoSecurity\RhinoSecurity\Program.cs:line
>>>>> 34
>>>>>       at System.AppDomain._nExecuteAssembly(Assembly assembly, String[]
>>>>> args)
>>>>>       at System.AppDomain.ExecuteAssembly(String assemblyFile,
>>>>> Evidence assemblySecurity, String[] args)
>>>>>       at
>>>>> Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
>>>>>       at System.Threading.ThreadHelper.ThreadStart_Context(Object
>>>>> state)
>>>>>       at System.Threading.ExecutionContext.Run(ExecutionContext
>>>>> executionContext, ContextCallback callback, Object state)
>>>>>       at System.Threading.ThreadHelper.ThreadStart()
>>>>>  InnerException: System.Data.SqlClient.SqlException
>>>>>       Message="The specified schema name \"security\" either does not
>>>>> exist or you do not have permission to use it."
>>>>>       Source=".Net SqlClient Data Provider"
>>>>>       ErrorCode=-2146232060
>>>>>       Class=16
>>>>>       LineNumber=1
>>>>>       Number=2760
>>>>>       Procedure=""
>>>>>       Server="localhost\\SQLEXPRESS"
>>>>>       State=1
>>>>>       StackTrace:
>>>>>            at System.Data.SqlClient.SqlConnection.OnError(SqlException
>>>>> exception, Boolean breakConnection)
>>>>>            at
>>>>> System.Data.SqlClient.SqlInternalConnection.OnError(SqlException
>>>>> exception, Boolean breakConnection)
>>>>>            at
>>>>> System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject
>>>>> stateObj)
>>>>>            at System.Data.SqlClient.TdsParser.Run(RunBehavior
>>>>> runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream,
>>>>> BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject
>>>>> stateObj)
>>>>>            at
>>>>> System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String
>>>>> methodName, Boolean async)
>>>>>            at
>>>>> System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult
>>>>> result, String methodName, Boolean sendToPipe)
>>>>>            at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
>>>>>            at NHibernate.Tool.hbm2ddl.SchemaExport.Execute(Action`1
>>>>> scriptAction, Boolean export, Boolean throwOnError, TextWriter
>>>>> exportOutput, IDbCommand statement, String sql)
>>>>>            at NHibernate.Tool.hbm2ddl.SchemaExport.Execute(Action`1
>>>>> scriptAction, Boolean export, Boolean justDrop, IDbConnection
>>>>> connection, TextWriter exportOutput)
>>>>>            at NHibernate.Tool.hbm2ddl.SchemaExport.Execute(Action`1
>>>>> scriptAction, Boolean export, Boolean justDrop)
>>>>>       InnerException:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Sun, Nov 29, 2009 at 2:47 AM, Ayende Rahien <[email protected]>
>>>>> wrote:
>>>>> > I think that you forgot to user
>>>>> > Security.InitializeConfiguration<YourUserImpl>(cfg)
>>>>> >
>>>>> > On Sun, Nov 29, 2009 at 10:35 AM, Firefly <[email protected]>
>>>>> wrote:
>>>>> >>
>>>>> >> I have uploaded the file into the file pool that will throw an
>>>>> >> exception that say something like this...
>>>>> >>
>>>>> >> NHibernate.MappingException was unhandled
>>>>> >>  Message="An association from the table Permissions refers to an
>>>>> >> unmapped class: Rhino.Security.IUser"
>>>>> >>  Source="NHibernate"
>>>>> >>
>>>>> >>
>>>>> >> The source is a modified version of the tutorial by Artur that can
>>>>> be
>>>>> >> found here
>>>>> >>
>>>>> http://weblogs.asp.net/arturtrosin/archive/2009/04/02/rhino-tools-rhino-security-guide.aspx
>>>>> >>
>>>>> >> The relevance part of this error come from this part of the source
>>>>> >>
>>>>> >>   internal class NHibernateDbSchemaGeneration :
>>>>> >> INHibernateInitializationAware
>>>>> >>   {
>>>>> >>       public void BeforeInitialization()
>>>>> >>       {
>>>>> >>       }
>>>>> >>
>>>>> >>       public void Configured(Configuration cfg)
>>>>> >>       {
>>>>> >>           //new SchemaExport(cfg).Create(true, true);
>>>>> >>
>>>>> >>           var cfg1 = new Configuration();
>>>>> >>           cfg1.Configure();
>>>>> >>
>>>>> >>           //why is that if I am using my own Configuration file I
>>>>> get
>>>>> >> that error?
>>>>> >>           var db = new SchemaExport(cfg1);
>>>>> >>           db.Create(true, true);
>>>>> >>       }
>>>>> >>
>>>>> >>       public void Initialized(Configuration cfg, ISessionFactory
>>>>> >> sessionFactory)
>>>>> >>       {
>>>>> >>       }
>>>>> >>   }
>>>>> >>
>>>>> >>
>>>>> >> The error only happen when I created my own configuration object and
>>>>> >> not when I use the cfg object that got passed in by the container.
>>>>> >>
>>>>> >> I looked in the watch windows and base on my limited knowledge they
>>>>> >> look very much the same. Is there something else that I need to do
>>>>> in
>>>>> >> creating a new configuration object?
>>>>> >> it probably something simple but fundamental that I am missing. This
>>>>> >> set up have worked for me before. I only got an error today when I
>>>>> try
>>>>> >> to incorporate Rhino into my project.
>>>>> >>
>>>>> >> --
>>>>> >>
>>>>> >> You received this message because you are subscribed to the Google
>>>>> Groups
>>>>> >> "Rhino Tools Dev" group.
>>>>> >> To post to this group, send email to
>>>>> [email protected].
>>>>> >> To unsubscribe from this group, send email to
>>>>> >> [email protected]<rhino-tools-dev%[email protected]>
>>>>> .
>>>>> >> For more options, visit this group at
>>>>> >> http://groups.google.com/group/rhino-tools-dev?hl=en.
>>>>> >>
>>>>> >>
>>>>> >
>>>>> > --
>>>>> >
>>>>> > You received this message because you are subscribed to the Google
>>>>> Groups
>>>>> > "Rhino Tools Dev" group.
>>>>> > To post to this group, send email to
>>>>> [email protected].
>>>>> > To unsubscribe from this group, send email to
>>>>> > [email protected]<rhino-tools-dev%[email protected]>
>>>>> .
>>>>> > For more options, visit this group at
>>>>> > http://groups.google.com/group/rhino-tools-dev?hl=en.
>>>>> >
>>>>>
>>>>> --
>>>>>
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Rhino Tools Dev" group.
>>>>> To post to this group, send email to [email protected].
>>>>> To unsubscribe from this group, send email to
>>>>> [email protected]<rhino-tools-dev%[email protected]>
>>>>> .
>>>>> For more options, visit this group at
>>>>> http://groups.google.com/group/rhino-tools-dev?hl=en.
>>>>>
>>>>>
>>>>>
>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Rhino Tools Dev" group.
>>>> To post to this group, send email to [email protected].
>>>> To unsubscribe from this group, send email to
>>>> [email protected]<rhino-tools-dev%[email protected]>
>>>> .
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/rhino-tools-dev?hl=en.
>>>>
>>>
>>>  --
>>> You received this message because you are subscribed to the Google Groups
>>> "Rhino Tools Dev" group.
>>> To post to this group, send email to [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected]<rhino-tools-dev%[email protected]>
>>> .
>>> For more options, visit this group at
>>> http://groups.google.com/group/rhino-tools-dev?hl=en.
>>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Rhino Tools Dev" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected]<rhino-tools-dev%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/rhino-tools-dev?hl=en.
>>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Rhino Tools Dev" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<rhino-tools-dev%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/rhino-tools-dev?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en.

Reply via email to