About me

Screen Shot 2015-03-12 at 3.20.23 PMHi – I’m Erik Dahl and I’m a technologist living in the Chicago suburbs and spending time with my team in Minneapolis, MN and Costa Mesa, CA.  For details of my work setting and experience, check out View Erik Dahl's profile on LinkedIn

I’m on Twitter as @DahlSailRunner.

To see some of the rules I live by as a programmer, check out my post on my guiding principles.

As an aside, I’m a pretty avid reader.  I don’t comment on many books (but will if you ask), but you can check out my Goodreads page if you want to see what I’ve read or am currently reading. A few of my all-time favorites are below. Enjoy.

Favorites

Ready Player One
5 of 5 stars
tagged:
favorites
Carrion Comfort
5 of 5 stars
tagged:
favorites
Hyperion
5 of 5 stars
tagged:
favorites
Caesar
5 of 5 stars
tagged:
favorites
A Game of Thrones
5 of 5 stars
tagged:
favorites




goodreads.com

5 thoughts on “About me

  1. Jeff Jorczak

    Hi Erik. Wondering if you blogged yet about IdentityServer3?

    From you other post:
    “Authentication is pretty easy to setup, assuming you already have your OAUth server configured and ready. This assumption turns out to be non-trivial, but setting it up is not the subject of this post. I’ll blog about setting it up using IdentityServer3 at another time (soon) — it is using a custom user service to inject the claims we need to the principal being identified, and is using an internal user/password validation.”

    Reply
    1. dahlsailrunner Post author

      I haven’t yet but was planning to do so in the short term future.  If you’re looking for info right away, the Identity Server 3 and 4 GitHub sites and their docs pages are really good, and they have working samples as well. But I’ll do a blog post soon on Id Srv. Do you have any specific questions you were wondering about?

      Reply
  2. Al Navidi

    Hi Erik, I’ve been studying your course on .NET Logging Done Right on Pluralsight and loving it. However, I have one problem with the ToDoWebApi that I was hoping you could help me with.

    For the project properties, the Start URL is: https://sampleapi.local/swagger, as it is in your project
    Under “Servers”, I have “IIS Express” selected instead of “Local IIS”, since when I go change it, it gives me a permissions error. You did not touch on IIS at all during this video. Am I supposed to tweak IIS (e.g., convert a folder to an Application, create Virtual Directory, etc.) or leave it alone? For Project URL, I have http://localhost:33686/, instead of what you had in your project, since I don’t seem to be able to change it!! Anyhow, since I can’t change it, when I run the Solution with my settings, it just goes to the following URL: https://sampleapi.local/swagger and after hanging for a while, it just displays a browser error: “Can’t reach this page” !! What am I doing wrong?

    Thanks in advance for your help.

    Al

    Reply
    1. dahlsailrunner Post author

      Hi Al — glad you’re liking the course! When running with local IIS, you need to start Visual Studio as an Administrator — because VS interacts with the IIS “metabase” and by default doesn’t try to take on those permissions. You also probably need to do the following things (assuming you do want to run under https and not http):
      – create an SSL certificate (maybe even a trusted root authority) for “sampleapi.local” and import it to your cert store
      – go into IIS and create a website and tie it to both your code directory and your cert store, and “require server name authentication”
      – add a HOSTS file entry (c:\windows\system32\drivers\etc\hosts) that says “sampleapi.local” is your localhost — 127.0.0.1

      I might be able to add a blog post about how to do this soon, but the place I learned about how to do it was Dominick Baier’s great course on Web API v2 Security. Focus on the module called HTTP Security Primer and that will have all of this covered. It’s well done and probably explains it better than I could anyway. 🙂

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *