{"id":157,"date":"2009-06-16T13:28:17","date_gmt":"2009-06-16T17:28:17","guid":{"rendered":"http:\/\/blogs.law.harvard.edu\/brandonhaynes\/?p=157"},"modified":"2009-06-22T15:17:45","modified_gmt":"2009-06-22T19:17:45","slug":"presentation-materials-advanced-authorization-in-dotnetnuke","status":"publish","type":"post","link":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/2009\/06\/16\/presentation-materials-advanced-authorization-in-dotnetnuke\/","title":{"rendered":"Presentation Materials: Advanced Authorization in DotNetNuke 5.1"},"content":{"rendered":"<p>I recently had the privilege of presenting at the <a href=\"http:\/\/dayofdnn.com\">DoDNN conference<\/a> on the topic of authorization theory and the new extension points available in DotNetNuke version 5.1.  This was an enjoyable session with great attendees and some interesting conversation afterwards.<br \/>\n<!--more--><br \/>\nThe session abstract from this presentation read:<\/p>\n<blockquote><p>Among the many improvements present in DotNetNuke version 5.1, this latest release includes authorization as a first-class extension point.  This allows customization previously impossible without core modification.  Additionally, the permission model (and the internal use thereof) has been significantly streamlined and centralized, allowing for great flexibility across myriad use scenarios.<\/p>\n<p>In this session, we explore the new permission provider in detail.  This includes a discussion of how (and why) authorization services were centralized and abstracted, the overall design and structure of the provider, and available points of access control.  Finally, we examine some concrete ways in which the provider might be extended to meet real-world policy requirements.<\/p><\/blockquote>\n<div style=\"float: right;margin: 8px\"><a href=\"http:\/\/blogs.law.harvard.edu\/brandonhaynes\/files\/2009\/06\/amazon-s3-teaser.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-46\" src=\"http:\/\/blogs.law.harvard.edu\/brandonhaynes\/files\/2009\/06\/amazon-s3-teaser-300x167.png\" alt=\"A screenshot demonstrating Amazon S3 cloud-based integration on the DotNetNuke platform\" width=\"300\" height=\"167\" \/><\/a><\/div>\n<p>In accordance with some requests I&#8217;ve received, I am making the presentation materials available to the public. \u00a0These materials are available here:\u00a0<a href=\"http:\/\/blogs.law.harvard.edu\/brandonhaynes\/files\/2009\/06\/advanced-authorization-in-dotnetnuke.pdf\">Advanced Authorization in DotNetNuke 5.1<\/a>.<\/p>\n<div style=\"float: right;margin: 8px\"><a href=\"http:\/\/blogs.law.harvard.edu\/brandonhaynes\/files\/2009\/06\/amazon-s3-uri-teaser.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-172\" src=\"http:\/\/blogs.law.harvard.edu\/brandonhaynes\/files\/2009\/06\/amazon-s3-uri-teaser-294x300.png\" alt=\"Amazon S3 Demonstration Displaying URI Selection\" width=\"294\" height=\"300\" srcset=\"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/files\/2009\/06\/amazon-s3-uri-teaser-294x300.png 294w, https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/files\/2009\/06\/amazon-s3-uri-teaser.png 565w\" sizes=\"auto, (max-width: 294px) 100vw, 294px\" \/><\/a><\/div>\n<p>This presentation included a demonstration detailing how data and authorization provider decoration may be used to integrate the framework with Amazon S3 Services (screenshots of this in action are displayed right). \u00a0The code for this demonstration will be made available later this month on <a href=\"http:\/\/blogs.law.harvard.edu\/brandonhaynes\/2009\/06\/22\/released-dotnetnuke-amazon-s3-folder-integration-providers\/\">its project homepage<\/a> at CodePlex.<\/p>\n<p>B<\/p>\n<p>Epilogue: The\u00a0Amazon S3 Integration providers are now available for public consumption.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I recently had the privilege of presenting at the DoDNN conference on the topic of authorization theory and the new extension points available in DotNetNuke version 5.1. This was an enjoyable session with great attendees and some interesting conversation afterwards.<\/p>\n","protected":false},"author":1933,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3062,142],"tags":[6154,6153,3070,19470,6155,593],"class_list":["post-157","post","type-post","status-publish","format-standard","hentry","category-dotnetnuke-dnn-content-management-system","category-technology","tag-6154","tag-authorization","tag-dotnetnuke","tag-dotnetnuke-dnn-content-management-system","tag-dotnetnuke-51","tag-security"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/posts\/157","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/users\/1933"}],"replies":[{"embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/comments?post=157"}],"version-history":[{"count":34,"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/posts\/157\/revisions"}],"predecessor-version":[{"id":229,"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/posts\/157\/revisions\/229"}],"wp:attachment":[{"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/media?parent=157"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/categories?post=157"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/tags?post=157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}