Artwork

Contenido proporcionado por David Gardiner and Adelaide .NET User Group / David Gardiner. Todo el contenido del podcast, incluidos episodios, gráficos y descripciones de podcast, lo carga y proporciona directamente David Gardiner and Adelaide .NET User Group / David Gardiner o su socio de plataforma de podcast. Si cree que alguien está utilizando su trabajo protegido por derechos de autor sin su permiso, puede seguir el proceso descrito aquí https://es.player.fm/legal.
Player FM : aplicación de podcast
¡Desconecta con la aplicación Player FM !
icon Daily Deals

Managing granular authorisation in .NET, with Ryan Rowston

1:04:36
 
Compartir
 

Manage episode 400339119 series 1329529
Contenido proporcionado por David Gardiner and Adelaide .NET User Group / David Gardiner. Todo el contenido del podcast, incluidos episodios, gráficos y descripciones de podcast, lo carga y proporciona directamente David Gardiner and Adelaide .NET User Group / David Gardiner o su socio de plataforma de podcast. Si cree que alguien está utilizando su trabajo protegido por derechos de autor sin su permiso, puede seguir el proceso descrito aquí https://es.player.fm/legal.

We have a challenge: Modern day administrators want to keep a tight rein on who can perform different actions in their systems. Join us and learn how we've evolved our authorisation patterns to grant highly granular permissions to different users, while maintaining developer-friendly patterns in code.

In this talk I'll explain how we've approached this challenge, including:

  • How we've encoded discreet permission levels as bits in a 64-bit integer using a .NET flags enum.
  • How we've used an extended Authorize attribute to allow for developer to add authorisation in one line to API controllers/endpoints.
  • How we've enabled dynamic policy generation to account for the potentially quintillions of unique permission combinations that this enables.

Links:

  continue reading

68 episodios

Artwork
iconCompartir
 
Manage episode 400339119 series 1329529
Contenido proporcionado por David Gardiner and Adelaide .NET User Group / David Gardiner. Todo el contenido del podcast, incluidos episodios, gráficos y descripciones de podcast, lo carga y proporciona directamente David Gardiner and Adelaide .NET User Group / David Gardiner o su socio de plataforma de podcast. Si cree que alguien está utilizando su trabajo protegido por derechos de autor sin su permiso, puede seguir el proceso descrito aquí https://es.player.fm/legal.

We have a challenge: Modern day administrators want to keep a tight rein on who can perform different actions in their systems. Join us and learn how we've evolved our authorisation patterns to grant highly granular permissions to different users, while maintaining developer-friendly patterns in code.

In this talk I'll explain how we've approached this challenge, including:

  • How we've encoded discreet permission levels as bits in a 64-bit integer using a .NET flags enum.
  • How we've used an extended Authorize attribute to allow for developer to add authorisation in one line to API controllers/endpoints.
  • How we've enabled dynamic policy generation to account for the potentially quintillions of unique permission combinations that this enables.

Links:

  continue reading

68 episodios

Semua episod

×
 
Never used .NET and wondering what all the fuss is about? Or are you a seasoned .NET professional curious about the parts you haven't yet explored? This session is for everyone—from newcomers to experts. We introduce .NET, explain how it works, and showcase its capabilities across front end, back end, desktop, mobile, cloud, IoT, AI, and more. Links: .NET David's Blog…
 
SpecFlow is a framework for .NET used to create automated tests using the Gherkin Given-When-Then syntax. In, this talk, you'll learn about how SpecFlow can be used to create BDD style tests, and also how it can be extended to be used for different testing scenarios. Stephen and Rich will talk about their experience of using SpecFlow at HAMBS, some of the challenges they came across in the process, and how they extended the tool to meet the testing needs of HAMBS. Specifically, they will discuss some of the practical problems that needed to be solved: Customising test steps so that a tester can write tests without needing to touch the code Database setup and assertions Ensuring each test starts in a consistent state Links: SpecFlow HAMBS…
 
In this talk I'll share some of the lessons learned in creating and maintaining numerous build and deployment pipelines in both Azure DevOps and GitHub. You will learn about the common traps to avoid, and simple improvements that can make your continuous integration and deployment processes more reliable and maintainable. The principles and techniques will also apply to other CI/CD toolsets. Links: David's blog…
 
Developers often say to "design your code like LEGO". Typically, they're suggesting you separate your code into small modules with single responsibilities. However, a frequently overlooked detail is that LEGO bricks have little studs that allow you to join them together without everything falling apart. This seems like an important detail not to overlook, because I really like when my code doesn't fall apart.…
 
In this presentation, Daniel Brown, User Group Lead of the Adelaide Microsoft Copilot User Group, will delve into developing, integrating, and extending the capabilities of Microsoft Copilot within .NET. He will explore how developers can create custom functionalities, seamlessly integrate Copilot into their existing workflows, and extend its features to suit specific project needs. Daniel will showcase practical examples, share best practices, limitations and provide insights on how to leverage Copilot's advanced tools to enhance application performance and boost productivity. We'll also touch on the different Copilots and AI platforms offered by Microsoft.…
 
Discover how OpenTelemetry, an open-source observability framework can revolutionise the way you monitor, trace, and analyze your distributed systems. See how you can seamlessly integrate it into your existing microservices architecture, enabling you to capture rich telemetry data and gain actionable insights into the performance and behaviour of your services. Learn how visualise these insights through the Grafana toolstack, enabling you to detect and troubleshoot issues, optimize system performance, and enhance overall resilience. Leave with practical guidance and best practices to empower your microservices environment with the comprehensive observability that OpenTelemetry provides.…
 
Do you want your notifications to cut through the noise of email? With the global shift to remote & hybrid work, email has been feeling the strain, pushing more and more companies to use IM apps such as MS Teams to keep their employees in sync. With users paying less attention to their emails, the humble notification emails that your service sends to users are now getting lost at a higher rate than ever. Well fear no more! At this month's ADNUG meetup, Ben and Matt from Teamgage will be teaching you how to create MS Teams apps, specifically with a focus on using a Teams app to send high impact notifications to your users. We'll cover how to create apps, test and install them, send messages to users using your app and even the 🌶️spicy🌶️ topic of getting your app published on the MS Teams app store.…
 
Developer experience is a crucial aspect of software development that focuses on improving the workflow, productivity, and overall satisfaction of developers. By enhancing the developer experience, teams can improve their velocity, performance, and resiliency, leading to better software development outcomes. Join Sam for an insightful presentation on developer experience (including tester experience), where he'll explore some strategies, tools, and best practices that can help you to take your team's software development process to the next level and also to measure how effective they are. From best practices, engineering tools implementation, gauging developer experience and continuous improvement, Sam will cover everything you need to know to create a seamless and enjoyable developer experience in your teams.…
 
If your devices have to work anywhere, satellite connectivity is really the only option. This session is about building an Azure IoT based solution which copes with the challenges of satellite connectivity. How do you make the Azure IoT plumbing work with 20 byte messages which take 1-24 hours to be delivered. What is an "Azure Cloud Identity Translation Gateway"? Why MQTT is not the right hammer, but AMQP with connection pooling is. Integrating C# code which is compiled on demand. Using the Device Provisioning Service or a Device Connection string. Azure IoT Hub Messages vs. Methods. Azure IoT Central Integration. A really deep dive into working with Myriota - Low cost, global satellite connectivity for Azure IoT platform applications…
 
.NET 8 favourites speed-run, with Ryan Rowston Let's race into the next generation of .NET with a speed-run through a few of my favourite new features is .NET 8. Blazor United, with John Merchant Not a soccer/football team, it's the latest iteration of tooling for writing web apps in .NET What's new in C# 12, with David Gardiner Find out about the 8 new language features that shipped with C# 12!…
 
In 1971, three students from Minnesota thought they could liven up a history lecture by creating a computer game for the students to play, and after several days of work in HP Time Share BASIC, they came up with what turned out to be a significant milestone in the history of computer games - Oregon Trail. Oregon Trail is often regarded as one of the first great computer games, as well as being the originator of a franchise that is still running to this day. It was effectively also one of the first instances of both Shareware and a Commercial home release (depending on the version). My interest though, isn't just in historical computer games, it's also .NET and Functional Programming. I want to use this as a worked example of one of my passions - Functional Programming in C#! The challenge I've set myself is to redevelop Oregon Trail into C# using the following restrictions: Near 100% unit test coverage No variables can change state once set No statements (for, foreach, if, where, etc.) unless there literally is no way of avoiding them I'll also be demonstrating a few of the tricks Functional Programming can offer, like Higher-order functions, functional flows with simple Monads and Tail Recursion. There should also be a bit of retro computing fun, while we're at it. Links: Functional Programming with C# (O'Reilly Media) Simon on LinkedIn Simon on Twitter Simon's website…
 
An eye-opening journey into the heart of Discount Party Supplies' ERP system, Byblos, as we spotlight the transformative role Blazor has played in pushing our business to the next level. Discover how we at Discount Party Supplies are utilizing Blazor to help harness the power of our unique Lot Management System, enabling the efficient running of our 40-person-strong warehouse team. Experience innovation at work! Links: Discount Party Supplies…
 
We have a challenge: Modern day administrators want to keep a tight rein on who can perform different actions in their systems. Join us and learn how we've evolved our authorisation patterns to grant highly granular permissions to different users, while maintaining developer-friendly patterns in code. In this talk I'll explain how we've approached this challenge, including: How we've encoded discreet permission levels as bits in a 64-bit integer using a .NET flags enum. How we've used an extended Authorize attribute to allow for developer to add authorisation in one line to API controllers/endpoints. How we've enabled dynamic policy generation to account for the potentially quintillions of unique permission combinations that this enables. Links: Ryan on LinkedIn…
 
Have you ever loaded the official ChatGPT web application, entered a prompt and wondered: "How did they build that? How did they stream the response to the browser? And most importantly, how could I build it myself, using only C# and .NET"? Then this talk is for you! Especially if you are also interested in learning how leverage the new Azure OpenAI Service offering from Microsoft Azure! This talk also features GraphQL, using the HotChocolate server and StrawberryShake client libraries. Links: John's website John on Twitter John on LinkedIn…
 
Come and learn how 'DevPulse', a cloud native .NET application for delivering interactive polls at AWS community expo booths was taken from ideation into production. In this session we will learn how .NET was used to build a cross platform application, delivering messages to an AWS IOT backend, how that backend then aggregated and stored these messages before sending on to a real-time dashboard showing the results. We'll also see what best practices you can use when approaching your next .NET application to run on native AWS services and what IAC and automation tools can be used to make updates and new features seamless. You might event learn a bit a bit about .NET MAUI, AWS Lambda, Amazon DynamoDB, AWS AppSync and Blazor Web Assembly too 😊> Links: https://dev.to/deekob Derek on Twitter Derek on LinkedIn…
 
Loading …

Bienvenido a Player FM!

Player FM está escaneando la web en busca de podcasts de alta calidad para que los disfrutes en este momento. Es la mejor aplicación de podcast y funciona en Android, iPhone y la web. Regístrate para sincronizar suscripciones a través de dispositivos.

 

icon Daily Deals
icon Daily Deals
icon Daily Deals

Guia de referencia rapida

Escucha este programa mientras exploras
Reproducir